2010-01-26 23 views
5

Tôi đang sử dụng một TTLauncherView và cho rằng tôi khai báo một bộ điều khiển xem như TTViewController, như trong ứng dụng hướng dẫn TTCatalog. Khai báo một TTLauncherView var bên trong khung nhìn đó, thêm các mục, v.v.Phương pháp TTViewController và popupViewController

Trong giao diện chính của ứng dụng của tôi là một nút gọi giao diện trước đó với đoạn mã sau:

-(void) switchToButtonOrderingView 
{ 
    ButtonOrderingViewController *ButtonOrderingView= 
    [[ButtonOrderingViewController alloc] initWithNibName:@"ButtonOrderingViewController" bundle:nil]; 
    self.ButtonOrderingViewController = ButtonOrderingView; 
    [self.view insertSubview:ButtonOrderingView.view atIndex:10]; 
} 

Khi tôi bấm nút phanh ứng dụng tại phương pháp này mà thuộc về TTViewController.m:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    UIViewController* popup = [self popupViewController]; //brakes up here 
    if (popup) { 
    return [popup shouldAutorotateToInterfaceOrientation:interfaceOrientation]; 
    } else { 
    return [super shouldAutorotateToInterfaceOrientation:interfaceOrientation]; 
    } 
} 

và lỗi đi như thế:

[ButtonOrderingViewController popupViewController]: unrecog bộ chọn có kích thước được gửi đến ví dụ

Đã kiểm tra để xem phân cấp lớp ba20 và TTViewController là lớp con UIViewController.

popupViewController là phương thức TTPopViewController (và các lớp con của nó)! Mà tôi không sử dụng cũng không làm TTCatalog hướng dẫn ứng dụng. Tôi bị lạc. Bất kỳ trợ giúp sẽ được đánh giá cao.

Cảm ơn.

+0

Rất muốn nhận phản hồi về điều này. Đang đối mặt với cùng một vấn đề. – lostInTransit

Trả lời

8

Đã xảy ra sự cố tương tự và phát hiện lỗi!

Đây là những gì sẽ xảy ra khi bạn quên thêm -ObjC và/hoặc -all_load vào Cờ liên kết khác theo hướng dẫn thiết lập ba20. Có thể là bạn đã thêm chúng vào cấp dự án và có cài đặt ghi đè ở cấp thấp hơn - đó là trường hợp của tôi.

+0

Lưu ý rằng đây là một vấn đề khá phổ biến bất cứ khi nào bạn đang sử dụng thư viện tĩnh của bên thứ ba được viết trong Objective-C. Bạn có thể nhận thêm thông tin về những lá cờ này bằng cách truy cập http://developer.apple.com/mac/library/qa/qa2006/qa1490.html. Để báo giá: "Cờ -ObjC làm cho trình liên kết tải mọi tệp đối tượng trong thư viện xác định một lớp hoặc loại Mục tiêu-C. [...] Cờ -all_load buộc trình liên kết tải tất cả các tệp đối tượng từ mọi lưu trữ nó thấy, ngay cả những người không có mã Objective-C. " –