小编DNe*_*ell的帖子

弹出viewcontroller然后回到RootViewController似乎不起作用

我有一个应用程序,在堆栈上推送四个viewcontrollers.在第四个视图控制器中,我做了一个PopViewController,所以我应该回到第三个viewcontroller,在viewWillAppear方法中,我做一个PopToRootViewController.这不会让我回到正确的第一个viewcontroller.代码很简单,只是一个

[self.navigationController pushViewController:nextController animated:YES]
Run Code Online (Sandbox Code Playgroud)

在前3个视图控制器中的每一个中,以及在第四个中

[self.navigationController popViewControllerAnimated:YES].  
Run Code Online (Sandbox Code Playgroud)

在第三个viewcontroller中,我有一个viewWillAppear方法,它执行:

[self.navigationController popToRootViewControllerAnimated:YES].
Run Code Online (Sandbox Code Playgroud)

在浏览视图时,我得到以下信息:

启动应用:

         Back:               Title: FirstLevel
Run Code Online (Sandbox Code Playgroud)

按确定:

         Back: FirstLevel    Title: SecondLevel
Run Code Online (Sandbox Code Playgroud)

按确定:

         Back: SecondLevel   Title: ThirdLevel
Run Code Online (Sandbox Code Playgroud)

按确定:

         Back: ThirdLevel    Title: FourthLevel
Run Code Online (Sandbox Code Playgroud)

按OK:弹出1然后弹回root:

         Back: FirstLevel    Title: ThirdLevel
Run Code Online (Sandbox Code Playgroud)

如果我现在按OK:

         Back: ThirdLevel    Title: SecondLevel
Run Code Online (Sandbox Code Playgroud)

如果这令人困惑,我很抱歉.我应该能够弹出一个视图控制器,然后立即弹回到根目录吗?

谢谢你的帮助.

iphone objective-c ios

9
推荐指数
1
解决办法
1万
查看次数

NSDate的本地化日期(月和日)和时间

我希望能够根据iPhone配置获取运行我的应用程序的本地日期和时间.具体来说,我需要格式为mm/dd或dd/mm(或dd.mm,mm.dd,dd-mm,mm-dd等),具体取决于区域设置,时间为hh:mm.这可能与SDK方法的某些组合有关吗?

谢谢!

objective-c nsdateformatter ios

8
推荐指数
2
解决办法
7556
查看次数

相机图像方向

在我的应用程序中,我正在使用相机捕获图像.它们作为NSData表示存储在NSArray中.当我将NSData转换回图像时,当我拍摄时,方向现在是横向而不是纵向.

    NSData *data = UIImagePNGRepresentation([arrayImage objectAtIndex:0]);
    UIImage *tmp = [UIImage imageWithData:data];
Run Code Online (Sandbox Code Playgroud)

有人有解释吗?谢谢.

uiimage nsdata ios

5
推荐指数
2
解决办法
1万
查看次数

onContextItemSelected不会被调用

我创建了一个简单的应用程序,只显示一个AlertDialog,列表中有四个项目.我注册了一个上下文菜单.当我长按其中一个项目时,我会看到上下文菜单.然后我从上下文菜单中选择一个项目,但onContextItemSelected永远不会被调用.有帮助吗?谢谢.

test.java:

package com.cerulean.tech.creations.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;

public class test extends Activity {

    private String[] files;
    AlertDialog alert;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        files = new String[4];
    }

    public void selectScheme(View v) {
        files[0] = "<New Scheme>";
        files[1] = "test1";
        files[2] = "test2";
        files[3] = "test3";
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setItems(files, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int item) { …
Run Code Online (Sandbox Code Playgroud)

android contextmenu android-alertdialog

3
推荐指数
1
解决办法
6628
查看次数

UIActionSheet委托方法不会被调用

我有一个动作表,似乎只在我点击"是"按钮时调用clickedButtonAtIndex委托方法,而不是在"否"按钮上调用...这是代码:

self.myActionSheet = [[UIActionSheet alloc] initWithTitle:@"Test" delegate:self
      cancelButtonTitle:@"No" destructiveButtonTitle:@"Yes" otherButtonTitles:nil];
[self.myActionSheet showInView:self.view];
[myActionSheet release];
Run Code Online (Sandbox Code Playgroud)

委托方法:

- (void)actionSheet:(UIActionSheet *)myActionSheet
     clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 1) {
        [self.myActionSheet dismissWithClickedButtonIndex:1 animated:YES];
        return;
    }
Run Code Online (Sandbox Code Playgroud)

除非我触摸"是"按钮,否则我在此过程第一行的断点不会被击中.我已将此更改为cancelButtonTitle:nil然后将"No"放在另一个按钮上(otherButtonTitles:@"No",nil).一样.

有帮助吗?
谢谢!

iphone uiactionsheet ios

2
推荐指数
1
解决办法
2642
查看次数