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

iphone - Chặn giao diện người dùng khi đẩy Bộ điều khiển xem sang Bộ điều khiển điều hướng

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 07:48:24 28 4
mua khóa gpt4 Nike

Tôi vừa chuyển dự án iOS 5 của mình sang môi trường iOS 6 (vì Apple đã thực thi khả năng tương thích với thiết bị 4 inch) và hiện tôi đang đẩy mạnh UIViewController Tôi gặp một số vấn đề khi đi UINavigationController.

trước khi tôi thực hiện tùy chỉnh của mình UIViewController Sau đó, giao diện người dùng của tôi sẽ chặn trong 5 đến 20 giây, chỉ khi tôi nhấn tùy chỉnh đó lần đầu tiên UIViewController giờ. Nếu tôi bật UIViewController và nhấn lại, sẽ không có hiện tượng trễ hoặc chặn giao diện người dùng.

Đây là những gì đã xảy ra;

Đầu tiên, tôi đẩy UIViewController của mình từ didSelectRowAtIndexPath của UITableViewController (khởi tạo tùy chỉnh hoạt động tốt, không có vấn đề gì)

CampaignDetailViewController *detailViewController = [[CampaignDetailViewController alloc] initWithProduct:selectedProduct];
[self.navigationController pushViewController:detailViewController hoạt hình:CÓ];

Sau đó tôi ghi lại mọi thứ (tôi đã xóa viewDidLoad,viewWillAppearviewDidAppear Tất cả mã trong , điều này có nghĩa là PushController chỉ nên tải ngòi )

bị đẩyUIViewControllerthượng đẳng;

- (id)initWithProduct:(Product *)selectedProduct
{
NSLog(@"bắt đầu init");
self = [super initWithNibName:@"CampaignDetailViewController" gói:nil];
NSLog(@"đã nạp ngòi");
if (self) {
self.navigationItem.title = selectedProduct.name;
self.product = sản phẩm đã chọn;
}
NSLog(@"hoàn tất init");
return self;
}

- (void)viewDidLoad
{
NSLog(@"bắt đầu xemdidload");
[super viewDidLoad];
NSLog(@"hoàn tất viewdidload");
}

- (void)viewWillAppear:(BOOL)animated
{
NSLog(@"view sẽ xuất hiện");
}

- (void)viewDidAppear:(BOOL)hoạt hình
{
NSLog(@"view đã xuất hiện");
}

nhật ký trình gỡ lỗi;

2013-05-03 12:33:49.678 my-app[1429:707] bắt đầu init
2013-05-03 12:33:49.680 my-app[1429:707] đã tải ngòi
2013-05-03 12:33:49.683 my-app[1429:707] hoàn tất init
2013-05-03 12:33:49.808 my-app[1429:707] bắt đầu viewdidload
2013-05-03 12:33:49.855 my-app[1429:707] hoàn tất lượt xemdidload
2013-05-03 12:33:49.861 my-app[1429:707] chế độ xem sẽ xuất hiện
2013-05-03 12:35:28.501 lượt xem ứng dụng của tôi [1429:707] đã xuất hiện

Có độ trễ hơn 30 giây giữa viewWillAppear và viewDidAppear.

Thêm thông tin

  • Tôi đã thử sử dụng thường xuyên khởi tạo và xóa tập tin nib nhưng không có gì thay đổi.
  • Không có gì được tải giữa pushViewController và tải UIViewController.
  • Sự cố này xảy ra trên thiết bị iPhone 4 - iOS 5 của tôi. Mọi thứ đều hoạt động tốt trên trình mô phỏng iOS 5 và 6 và cũng hoạt động tốt trên các thiết bị iPhone 5 - iOS 6 của tôi.
  • Tôi cũng đã chèn các Bộ điều khiển Chế độ xem khác vào các phần khác của dự án, nhưng UIViewController này có vẻ là vấn đề duy nhất.
  • View Controller được đẩy vào main thread, do đó View Controller được nạp vào main thread
  • Trong thời gian chặn này, XCode (4.6.1) cũng bị chặn và không phản hồi

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

Hai lời khuyên:

1 - Sự cố này xảy ra trên trình mô phỏng hay trên thiết bị thực? Tôi đã gặp rất nhiều hiện tượng lag bất ngờ trên trình mô phỏng.

2 – Nhớ gọi điện

[siêu lượt xemWillAppear:hoạt hình];

[siêu viewDidAppear:hoạt hình];

Trong quá trình thực hiện.

Từ tài liệu của Apple:

Nếu bạn ghi đè phương thức này, bạn phải gọi super tại một thời điểm nào đó trong quá trình triển khai.

Về việc chặn iphone - UI khi đẩy Bộ điều khiển xem sang Bộ điều khiển điều hướng, 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/16356001/

28 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