- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 navigationController,我从那里启动 ModalViewController。在这个 ModalViewController 中,我将显示 MailComposer,它本身是另一个 ModalViewController。
现在,如果用户点击发送按钮,MailComposerView 和其他 ModalViewController 应该被关闭。为此,我在 mailComposerController 中调用了一个委托(delegate)方法。
现在只有 MailComposerView 会被关闭,而不会关闭其他 ModalViewController,我会收到以下错误消息
attempt to dismiss modal view controller whose view does not currently appear. self = modalViewController =
你有什么想法我会做错吗?
第一个模态视图
- (void)addList {
NSLog(@"addList");
//AddListViewController *addListViewController = [[AddListViewController alloc] init];
AddListViewController *addListViewController = [[AddListViewController alloc] initWithStyle:UITableViewStyleGrouped];
addListViewController.delegate = self;
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addListViewController];
navigationController.navigationBar.barStyle = UIBarStyleBlack;
navigationController.navigationBar.translucent = YES;
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[addListViewController release]; }
在调用 MailView 的 AddListViewController 中
MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init];
mailComposer.mailComposeDelegate = self;
NSString *subject = [NSString stringWithFormat:@"Group invite for groupname: %@", @"mhm"];
[mailComposer setSubject:subject];
// Fill out the email body text
NSString *emailBody = @"This is an group invite bla bla";
[mailComposer setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:mailComposer animated:YES];
[mailComposer release];
在 mailComposerController 方法中
[self.navigationController dismissModalViewControllerAnimated:YES];
[self.delegate finishAddList:checkmark andListName:listName.text];
在 finsihAddList 委托(delegate)中
[self dismissModalViewControllerAnimated:YES];
câu trả lời hay nhất
我遇到了类似的问题。我有一堆模态呈现的 View Controller 。当我试图从可见的开始消除它们并向下移动堆栈时,我会因同样的错误而失败。解决方案是关闭堆栈底部的 View Controller 。它会忽略它上面的所有内容。
在您的情况下,我的解决方案相当于更改 mailComposerController 方法,使其仅包含一行(不关闭最顶层的模态 vie Controller )。
[self.delegate finishAddList:checkmark andListName:listName.text];
我知道您已经解决了您的问题,但认为这可能对其他人有帮助。
关于iphone - 两个 ModalViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3988432/
Nếu tôi sử dụng NSUserDefaults để lưu trữ cài đặt ứng dụng của mình, có cách nào để "ẩn" cài đặt ứng dụng của tôi hiển thị trong ứng dụng Cài đặt thông thường trên iPhone không? Tôi biết có những công cụ khác như mySetti
Tôi đã làm theo hướng dẫn từ trang web này: http://theappleblog.com/2008/08/04/tutorial-build-a-simple-rss-reader-for-iphone/ để thực hiện
Tôi đã thực hiện bản địa hóa bằng cách thay đổi ngôn ngữ của iPhone bằng localisableString và xib khác chỉ cho phương thức NSLocale nhưng yêu cầu của ứng dụng là bản địa hóa bằng cách thay đổi ngôn ngữ trong cài đặt ứng dụng Xem
Tôi đang cố gắng tìm hiểu xem liệu iPhone có thể kết nối với một thiết bị khác không phải iPhone qua mạng không dây hoặc Bluetooth hay không nhưng tôi thấy có thông tin mâu thuẫn. Hầu hết những gì tôi tìm thấy đều có trước khi phát hành SDK 3.0, khi điều đó chắc chắn là không thể thực hiện được. xem đống
Câu hỏi này đã có câu trả lời ở đây: Đã đóng 7 năm trước. Có thể trùng lặp: Cách phát hiện iPhone
Khi tôi chạy ứng dụng của mình trên trình mô phỏng, nó luôn tạo ra một màn hình trống màu trắng. Nhưng khi tôi thoát ứng dụng bằng nút iPhone màu đen ở dưới cùng, Chế độ xem sẽ hiển thị sau khi vào lại ứng dụng. Ứng dụng sau đó chạy như bình thường. Nhưng khi tôi tải nó vào
Ý tôi là hai thiết bị iPhone phải được kết nối qua Bluetooth hoặc WiFi và giao diện người dùng của một thiết bị phải được mở rộng sang thiết bị iPhone kia (không chia sẻ màn hình). Có cách nào chúng ta có thể làm điều này trong iOS không? Câu trả lời hay nhất
Làm cách nào để phát hiện kiểu thiết bị thông qua macro? Tôi đã sử dụng một cái gì đó tương tự nhưng kết quả trên trình mô phỏng luôn là IS_IPHONE_5 #define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInt
Tôi hiện có một ứng dụng yêu cầu người dùng duy trì đường hầm VPN. Trong khi tải, tôi kiểm tra xem đường hầm VPN có sẵn không. Tôi đã tự hỏi liệu có cách nào để hiển thị UIAlertView mà sau khi nhấp vào "OK", người dùng sẽ được đưa đến màn hình cài đặt chính của iPhone để
Tôi đang phát triển một ứng dụng khách iPhone cho phép người dùng xếp hạng các dịch vụ khác nhau. Không cần đăng ký hoặc đăng nhập. Yêu cầu là người dùng không thể xếp hạng dịch vụ nhiều lần (mặc dù xếp hạng của họ có thể thay đổi). Hiện tại, ứng dụng có thể được gỡ bỏ, cài đặt lại,
Ví dụ: nếu tôi nhấp vào biểu tượng ứng dụng iphone, nó sẽ tạo tệp .app khi khởi chạy. Vậy có thể gọi ứng dụng iPhone khác từ ứng dụng này được không. Hoặc chúng ta có thể làm điều gì đó trong tệp .app đó như nó sẽ làm
Có thực sự có thể làm cho chế độ im lặng của iPhone độc lập với Ứng dụng iPhone không? Ứng dụng "Talking Carl" này làm tôi bối rối. IPhone của tôi ở chế độ im lặng. Bất cứ khi nào tôi mở ứng dụng này. Âm thanh ứng dụng đang ở chế độ bật
Câu hỏi này dường như không hữu ích cho bất kỳ khách truy cập nào trong tương lai; nó chỉ liên quan đến một khu vực địa lý nhỏ, một thời điểm cụ thể hoặc một tình huống rất hẹp và thường không áp dụng cho khán giả Internet trên toàn thế giới. Để được trợ giúp làm cho câu hỏi này có thể áp dụng rộng rãi hơn, hãy truy cập
Nếu tôi muốn viết một số ứng dụng iPhone tùy chỉnh nhưng không nhất thiết phải phân phối chúng thông qua App Store, liệu tôi có thể làm điều đó mà không cần tham gia Chương trình nhà phát triển iPhone không? Giả sử tôi chỉ muốn viết một số tiện ích nhỏ cho bản thân và đưa nó vào
Ý kiến và/hoặc trải nghiệm của mọi người với các công cụ trò chơi như Unity hoặc Torque Engine là gì? Nếu bạn là người mới bắt đầu phát triển trò chơi trên iPhone, liệu bạn có nên học một trong những công cụ này không? Các ứng dụng do các công cụ này tạo ra khác với các ứng dụng gốc sử dụng SDK.
Bạn có thể phân phối ứng dụng iPhone để thử nghiệm trong Trình mô phỏng iPhone trên máy tính chưa cài đặt công cụ phát triển XCode không? Tôi có thể cài đặt trình giả lập trực tiếp trên máy tính để thử nghiệm không? Tôi có một nhóm người thử nghiệm không phải là nhà phát triển ngoại trừ khả năng chạy
Tôi muốn xây dựng và cài đặt ứng dụng của mình trên thiết bị đã bẻ khóa của mình mà không phải trả 99 USD cần thiết cho Chương trình dành cho nhà phát triển iPhone. Tôi có Rock và Cydia... Cách dễ nhất (nếu có thể) là gì? Cảm ơn. Câu trả lời hay nhất là cái này
Tôi muốn kiểm tra một trang web để xem nó hoạt động như thế nào với iPhone nhưng tôi không có iPhone hoặc iPod touch. Có cách nào để tôi kiểm tra trang web của mình hoạt động như thế nào mà không cần sở hữu nó không? Điều tôi thực sự muốn là sửa chữa Stack
Nói một cách đơn giản; 99 đô la của tôi mang lại cho tôi điều gì mà tôi không thể nhận được miễn phí? Được rồi, được rồi, nghe có vẻ là một câu hỏi ngu ngốc, nhưng trang web của Apple đối với tôi không rõ ràng. Linh cảm của tôi là bạn có thể gửi ứng dụng lên cửa hàng ứng dụng với giá 99, nhưng bạn có thể làm điều đó miễn phí
Tôi là nhà phát triển iOS đã đăng ký. Làm cách nào để chuyển ứng dụng iPhone sang iPhone cá nhân của tôi? Câu trả lời tốt nhất để thử nghiệm? Chỉ cần chọn thiết bị của bạn thay vì trình giả lập. Giới thiệu về iPhone - Làm cách nào để chuyển đổi iPhone của tôi sang
Tôi là một lập trình viên xuất sắc, rất giỏi!