小编non*_*uma的帖子

如何检查使用了哪个segue

我有两个segue's导致相同viewController.有2个按钮viewController使用2个segue 连接到同一个按钮.在那viewController我需要检查点击了哪个按钮.所以实际上我需要检查使用/预制的segue.我如何在viewControllers类中检查这个?我知道有prepareForSegue方法,但是我不能将它用于我的目的,因为我需要把它放在prepareForSegue2个按钮所在的类中,我不希望它在那里,但我想在viewControllers课堂上因为我需要访问它并在该类中设置一些变量.

iphone objective-c ios uistoryboardsegue

8
推荐指数
1
解决办法
6824
查看次数

向后或向前滑动时检查UIPageViewController

我想用这个跟踪索引UIPageViewController.每当我刷卡我需要index++index--.无论何时向后或向后滑动,都会调用此委托方法:

- (void)pageViewController:(UIPageViewController *)pvc didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed
{
    // If the page did not turn
    if (!completed)
    {
        // You do nothing because whatever page you thought
        // the book was on before the gesture started is still the correct page
        return;
    }

    // I want to check here whenever the page was swiped back or further
}
Run Code Online (Sandbox Code Playgroud)

如果用户向后或向后滑动,我该如何检查此方法?我知道有2个DataSource方法"viewControllerAfterViewController"和"viewControllerBeforeViewController",但我无法检查页面转换是否已完成(我可以在上面的方法中执行此操作)任何想法我怎么知道用户是否向后滑动或进一步以上方法?

iphone objective-c ios

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

UIAlertView错误超出文本字段数组的范围但不使用文本字段

我正在使用UIAlertView但我收到以下错误消息:

*由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'textFieldIndex(0)超出了文本字段数组的范围'

然而,textFields在我UIAlertView和我从来没有访问它们...

这是我的代码:

alertNewVersion = [[UIAlertView alloc] initWithTitle: @"Update"
                                            message: @"There is a new version"
                                            delegate: self
                                            cancelButtonTitle:@"OK"
                                            otherButtonTitles:@"Cancel",nil];
[alertNewVersion setAlertViewStyle:UIAlertViewStyleDefault];
alertNewVersion.tag = 1;
[alertNewVersion show];
Run Code Online (Sandbox Code Playgroud)

但是,当我将" delegate:self" 更改为" "时,delegate:nil它不会因错误而崩溃,但是当然我的委托功能不起作用......那么问题是怎么回事?

编辑:

第二个UIAlertView:

- (IBAction)startPushed:(id)sender {

    message = [[UIAlertView alloc] initWithTitle:@"test."
                                        message:nil
                                        delegate:self
                                        cancelButtonTitle:nil
                                        otherButtonTitles:@"OK", nil];

    [message setAlertViewStyle:UIAlertViewStyleLoginAndPasswordInput];
    [[message textFieldAtIndex:1] setSecureTextEntry:NO];
    [[message textFieldAtIndex:0] setPlaceholder:@"xx"];
    [[message textFieldAtIndex:1] setPlaceholder:@"xxx"];
    message.tag = 2;
    [message show];

}
Run Code Online (Sandbox Code Playgroud)

代表方法:

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {


if(alertView.tag == 1){ …
Run Code Online (Sandbox Code Playgroud)

iphone xcode objective-c uialertview ios

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

使用segue传回数据时卡住了

我正在尝试使用协议使用segue传回数据.我正在回答这个问题:如何在撤消Segue时将信息传回iOS?

所以我已经做了:

PageScrollViewController.h

@protocol MyDataDelegate <NSObject, UIPageViewControllerDelegate>

- (void)recieveData:(NSString *)theData;

@end
Run Code Online (Sandbox Code Playgroud)

我还添加了属性:

@property (nonatomic,weak) id<MyDataDelegate> delegate;
Run Code Online (Sandbox Code Playgroud)

ContainerViewController.h

#import "PageScrollViewController.h"

@interface ContainerViewController : UIViewController <MyDataDelegate>

//...
Run Code Online (Sandbox Code Playgroud)

ContainerViewController.m

- (void)recieveData:(NSString *)theData {

    //Do something with data here
}
Run Code Online (Sandbox Code Playgroud)

在这里我被困住了:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

    //Get a handle on the view controller about be presented
    PageScrollViewController *secondViewController = segue.destinationViewController;

    if ([PageScrollViewController isKindOfClass:[PageScrollViewController class]]) {
        PageScrollViewController.delegate = self;
    }
}
Run Code Online (Sandbox Code Playgroud)

该行 PageScrollViewController.delegate = self;给出了一个错误:在'PageScrollViewController'类型的对象上找不到属性'委托',但我确实将它添加为属性并合成它...

iphone objective-c ios

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

在UIPageViewController的底部放置一个栏

我在故事板中使用UIPageViewController,我想在屏幕底部创建一个带有标签的栏.所以类似于导航栏,当你从UIPageViewController切换页面时,它总是保持在那里.但是在我的故事板上,我无法在PageViewController上删除视图或标签,我该如何实现?例: 在此输入图像描述

iphone objective-c ios

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

检查NSData是否包含NSString的可能性

我正在使用NSData来存储来自网页的XML.是否可以检查NSData是否包含<?xml version="1.0"?>

    NSURL *url = [NSURL URLWithString:link];
    NSData *data = [NSData dataWithContentsOfURL:url]; 
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios

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