cuốn sách gpt4 ai đã làm

iOS, làm cách nào để tải .xib sang .xib khác?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 20:08:15 26 4
mua khóa gpt4 Nike

Tôi đang tìm cách sử dụng lại nội dung từ một tệp .xib và tải nó vào nhiều tệp .xib khác. Lý do là tôi có thể sử dụng lại các phần thiết kế của mình trên tất cả các trang trong ứng dụng của mình. Tôi biết trong lập trình Android, bạn có thể thực hiện việc này bằng cách viết include nameOfFile vào tệp Design.xml.

Tôi đã thử như sau:

Tệp .xib được tạo để liên kết đến tệp .h và .m, cả hai đều được gọi là ActionBarViewController .xib/.h/.m.

Sau đó tôi đặt màu nền trong tệp ActionBarViewController.m.

self.view.backgroundColor = [UIImage gbBlue]; 

ActionBarViewController .h của tôi trông như thế này:

@interface ActionBarViewController : UIViewController {

}
@property (giữ lại, không nguyên tử) IBOutlet UIView *actionBarView;

@kết thúc

Sau đó, tôi đưa ActionBarViewController vào mainMenu.m của mình (đây là tệp .m của .xib mà tôi muốn tải Chế độ xem ActionBar của mình).

Bây giờ trong viewDidLoad của mainMenu.m, tôi thử tải nó như thế này.

ActionBarViewController *actionbarViewController = [[ActionBarViewController alloc] init];

[self.view addSubview:actionbarViewController.actionBarView];
[bản phát hành actionbarViewController];

我也试过:

ActionBarViewController *obj=[[[NSBundle mainBundle] LoadNibNamed:@"ActionBarViewController" owner:self options:nil]objectAtIndex:0];

obj.actionBarView.frame=CGRectMake(70, 160, 180, 80);

[self.view addSubview:obj.actionBarView];
[phát hành obj];

Nhưng nó không hoạt động, tôi có thiếu thứ gì không? Hay điều này là không thể trong lập trình iOS?

câu trả lời hay nhất

Nếu bạn có một menu chính xibvà bạn đang cố tải xib cụ thể được xác định trong xem. Hãy đặt tên cho nó containerView. Sẽ containerView được liên kết với tệp .m chính của bạn khởi tạo của bạn viewDidLoad TRONG ActionBarView. sử dụng ActionBarView Một số phương thức lớp cần tải ngòi bút tập tin và trả về kết quả. thêm nó dưới dạng containerView TRONG chế độ xem phụ.

//viewDidLoad
ActionBarView *actionBar = [ActionBarView getInstance];
[containerView addSubview:actionBar]

// Phương thức lớp getInstance trong ActionBarViewController
ActionBarView *actionBar = [[[NSBundle mainBundle]
LoadNibNamed:@"ActionBarViewController"
chủ sở hữu:không tùy chọn:nil] LastObject];
if ([actionBar isKindOfClass:[Lớp ActionBarView]])
trả về actionBar;
khác
return nil;

ActionBarView 是一个 UIView

Về iOS, làm cách nào để tải .xib sang .xib khác? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/21303598/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress