相关疑难解决方法(0)

检测导航栏上按下"后退"按钮的时间

我需要在导航栏上按下后退按钮(返回上一屏幕,返回父视图)按钮时执行一些操作.

是否有一些方法可以实现捕获事件并触发一些操作以在屏幕消失之前暂停和保存数据?

iphone xcode objective-c ios

120
推荐指数
8
解决办法
12万
查看次数

如何使用UINavigationController的自定义视图创建backBarButtomItem

我有一个UINavigationController我推几个视图.在viewDidLoad其中一个视图中,我想将其设置self.navigationItem.backBarButtonItem为自定义视图(基于自定义图像).我不知道为什么,但似乎没有用.相反,我得到了标准的"后退"按钮.

UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 63, 30)];
[backButton setImage:[UIImage imageNamed:@"back_OFF.png"] forState:UIControlStateNormal];
[backButton setImage:[UIImage imageNamed:@"back_ON.png"] forState:UIControlStateSelected];
UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.backBarButtonItem = backButtonItem;
[backButtonItem release];
[backButton release];
Run Code Online (Sandbox Code Playgroud)

我测试了一个标准的标题,它的工作原理.上面的代码有什么问题?

self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Prout" style:UIBarButtonItemStyleDone target:nil action:nil] autorelease];
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助.

cocoa-touch

35
推荐指数
6
解决办法
5万
查看次数

如何捕获后退按钮事件

我有一个启动一个UIViewController一个UITableViewController,每当后退按钮在子控制器,这是从"的UIViewController"派生类按我想的陷阱.我可以更改后退按钮标题,但设置backBarButtonItem时设置目标和操作值似乎被忽略.有什么方法可以接收点按"后退"按钮的某种通知?

- (void)showDetailView 
{
    // How I'm creating & showing the detail controller
    MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyDetailView" bundle:nil];   

    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Pages"
                            style:UIBarButtonItemStyleBordered 
                            target:self                                     
                            action:@selector(handleBack:)];

    self.navigationItem.backBarButtonItem = backButton;
    [backButton release];

    [self.navigationController pushViewController:controller animated:animated];
    [controller release];

}   

- (void)handleBack:(id)sender
{
    // not reaching here
    NSLog(@"handleBack event reached");
}
Run Code Online (Sandbox Code Playgroud)

iphone ios

17
推荐指数
5
解决办法
3万
查看次数

标签 统计

ios ×2

iphone ×2

cocoa-touch ×1

objective-c ×1

xcode ×1