小编use*_*133的帖子

UIPageViewController:获取currentPage

在过去的几天里,我一直在努力解决这个问题,经过这个杂耍之后,我发现我只需要数据源方法的当前索引来更新当前可见的页码

我有这个UIPageViewController数据源方法,我需要使用当前索引来获取委托方法的当前可见页面previousViewControllers transitionCompleted:(BOOL)completed

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
   viewControllerAfterViewController:(UIViewController *)viewController { 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"pages" ofType:@"pdf"];

    NSURL *pdfurl = [NSURL fileURLWithPath:path];
    PDFDocument = CGPDFDocumentCreateWithURL((__bridge CFURLRef)pdfurl);

    contentViewController = [[ContentViewController alloc] initWithPDFAtPath:path];

    currentIndex = [modelArray indexOfObject:[(ContentViewController *)viewController page]];

    if (currentIndex == totalPages - 1) {  
        return nil;
    }

    contentViewController.page = [modelArray objectAtIndex:currentIndex + 1];

    return contentViewController;
}
Run Code Online (Sandbox Code Playgroud)

我对如何将当前索引语句从datasource方法写入委托方法以更新当前可见页面感到困惑.

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed{

    if (!completed)
    {
        return;
    }

    //currentIndex = [[self.pageViewController.viewController lastObject]];  
    currentIndex = [self indexOfObject:contentViewController]; …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios6

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

如何使UITextView不可编辑,不希望键盘显示

在一个UITextView有一个只读的文本,不希望任何用户交互在一切意味着不想要编辑文本,甚至不希望键盘显示.我想制作UITextView可滚动的.

现在发生的事情是,它不可滚动,内容可编辑,键盘显示,边框底部没有显示.如果有人可以帮我解决这个问题.会非常感激.

提前致谢.

iphone uitextview

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

将xib文件替换为App委托类中的Main.storyboard文件

现在项目正在使用App委托类中的MainWindow.xib作为主nib文件.它在main.m文件中有这个代码

int main(int argc, char *argv[]) {

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
Run Code Online (Sandbox Code Playgroud)

我想用Mainstoryboard替换它.我在info.plist文件中将其更改为Mainstoryboard文件基本名称,但它显示没有设置app delegate的错误.必须指定应用程序委托类才能使用主故事板文件.

我应该在App委托类中使用什么编码来使用Mainstoryboard文件.

谢谢

iphone appdelegate

19
推荐指数
2
解决办法
6318
查看次数

在UITextview中禁用放大镜

UITextview当被按下的时间越长放大镜触摸显示出来.我怎么能禁用它.

iphone uiscrollview uitextview

12
推荐指数
1
解决办法
7182
查看次数

如何将分段控件添加到uitoolbar

我有一个带UIBarButtonItems的UIToolbar.我想为它添加分段控件.

//Add UIToolbar

toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 425, 320, 35)];

toolbar.barStyle = UIBarStyleBlackOpaque;

[self.view addSubview:toolbar];

//Add Gallery Button

UIButton *galleryButton = [UIButton buttonWithType:UIButtonTypeCustom];

[galleryButton addTarget:self action:@selector(ScrollView:) forControlEvents:UIControlEventTouchUpInside];

galleryButton.frame = CGRectMake(0, 0, 25, 25);

UIImage *ime = [UIImage imageNamed:@"_gallery.png"];

[galleryButton setImage:ime forState:UIControlStateNormal];

UIBarButtonItem *gallerybutton = [[UIBarButtonItem alloc] initWithCustomView:galleryButton];


 //Add play/Pause button 

_playButton = [UIButton buttonWithType:UIButtonTypeCustom];

[_playButton addTarget:self action:@selector(playpauseAction:) forControlEvents:UIControlEventTouchUpInside];

_playButton.frame = CGRectMake(0, 0, 25, 25);

[_playButton setImage:[UIImage imageNamed:@"1play.png"] forState:UIControlStateNormal];

[_playButton setImage:[UIImage imageNamed:@"audiopause.png"] forState:UIControlStateSelected];

 UIBarButtonItem *play = [[UIBarButtonItem alloc] initWithCustomView:self.playButton];

 UIBarButtonItem …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uisegmentedcontrol uitoolbar ios6

7
推荐指数
1
解决办法
6204
查看次数

检查avaudioplayer的当前播放时间

这是检查AVAudioPlayer's当前播放时间的正确方法.

[audioPlayer play];

float seconds = audioPlayer.currentTime;

float seconds = CMTimeGetSeconds(duration); 
Run Code Online (Sandbox Code Playgroud)

我怎么可以编码

  [audioPlayer play]; 
Run Code Online (Sandbox Code Playgroud)

当currentTime等于11秒时

[self performSelector:@selector(firstview) withObject:nil]; 
Run Code Online (Sandbox Code Playgroud)

并且在firstTime等于23秒后的第一次查看

[self performSelector:@selector(secondview) withObject:nil];
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答.

avaudioplayer ios

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

OCMock是一个NSOperation

我正在尝试编写一些单元测试来测试NSOperations我们正在编写的一些自定义.我想要做的是创建一个模拟NSOperation并将其放在上面NSOperationQueue,然后等待它完成.我知道我可以调整方法而根本不使用OCMock,但我真的不想那样做.我想用OCMock.我试图运行的代码如下所示:

MYOperation *operation = [MYOperation new];
id mockOperation = [OCMockObject partialMockForObject:operation];
[NSOperationQueue *queue = [NSOperationQueue new];
[queue setMaxConcurrentOperationCount:1];
[queue addOperation:mockOperation];
Run Code Online (Sandbox Code Playgroud)

当单元测试到达此行时:

[queue addOperation:mockOperation];
Run Code Online (Sandbox Code Playgroud)

我调用了一个解除分配的对象异常.有人对我如何克服这个问题有任何建议吗?

iphone unit-testing objective-c ocmock

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

将按钮的目标和选择器设置为多个方法

我想添加多个方法,在按下按钮时作为选择器响应.按下按钮时,一个按钮可以有两个被调用的方法吗?

通过我的研究,我发现,在Objective-C Programming Language Guide中,一个按钮将调用所有方法与选择器同名.

我希望我的按钮可以同时执行两个操作:

  1. 播放音频文件
  2. 显示数组中的视图.

    UIBarButtonItem*play = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(play :)];

欣赏建议.

谢谢

iphone methods objective-c selector

4
推荐指数
1
解决办法
4787
查看次数

按下按钮时弹出UIPickerview

这段代码有什么问题,因为当我按下按钮弹出时 UIPickerview.什么都没发生.这是为什么

  -(void)pickerview:(id)sender
{
items =[[NSArray alloc]initWithObjects:@"Hindi",@"English",nil];

pickerView=[[UIPickerView alloc] initWithFrame:CGRectMake(10,100,150,150)];

pickerView.transform = CGAffineTransformMakeScale(0.75f, 0.75f);

pickerView.delegate = self;

pickerView.dataSource = self;

pickerView.showsSelectionIndicator = YES;

pickerView.backgroundColor = [UIColor clearColor];

[pickerView selectRow:1 inComponent:0 animated:YES];

}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
{

return 1;

}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
{

return [items count];   
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{

return[items objectAtIndex:row];

}
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我这段代码有什么问题.

iphone

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

将NSNumber保存在NSUserDefaults中

使用currentIndex作为NSNumber并将NSNumber保存在NSUserDefaults中。

使用currentIndex在NSUserDefaults中存储书签页面

这就是我将currentIndex保存在NSUserdefaults中的方式:

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 [defaults setInteger:currentIndex forKey:@"currentIndex"];
 [defaults synchronize];
Run Code Online (Sandbox Code Playgroud)

如果这是将currentIndex保存在NSUserdefaults中的正确方法,那么我如何才能在NSUserdefaults中检索保存的currentIndex。

感谢帮助。

nsuserdefaults nsnumber ios

4
推荐指数
3
解决办法
3409
查看次数