小编Art*_*sev的帖子

应用程序在应用程序启动结束时应具有根视图控制器

我在控制台中收到以下错误:

应用程序在应用程序启动结束时应具有根视图控制器

以下是我的application:didFinishLaunchWithOptions方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Set Background Color/Pattern
    self.window.backgroundColor = [UIColor blackColor];
    self.tabBarController.tabBar.backgroundColor = [UIColor clearColor];
    //self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"testbg.png"]];

    // Set StatusBar Color
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];

    // Add the tab bar controller's current view as a subview of the window
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

在Interface Builder中,UITabBarController代理连接到App Delegate.

有谁知道如何解决这个问题?

objective-c ios

380
推荐指数
24
解决办法
29万
查看次数

隐藏UISearchBar取消按钮

我有一个UISearchDisplayController和UISearchBar从我的笔尖通过Outlets连接到我的ViewController.

我想隐藏取消按钮,以便用户永远不会看到它.问题是以下代码隐藏了按钮,但仅在将其显示给用户一毫秒后(例如,它在模拟器和设备上闪烁然后消失在视图之外).

- (void)searchDisplayControllerDidBeginSearch:(UISearchDisplayController *)controller 
{
    controller.searchBar.showsCancelButton = NO;
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来隐藏它?

cocoa-touch objective-c uisearchbar uisearchdisplaycontroller ios

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

[NSCFNumber isEqualToString:]:发送到实例的无法识别的选择器

好吧,我有以下常见问题

[NSCFNumber isEqualToString:]: unrecognized selector sent to instance

但这次我不确定如何解决它.

这是宣言中的 viewDidLoad:

- (void)viewDidLoad {

    [super viewDidLoad];

    NSMutableArray *tempHours = [NSMutableArray array];
    for (int i = 0; i < 12; i++) { 
        [tempHours addObject:[NSNumber numberWithInt:(i+1)]];
    }
    self.hours = tempHours; // 'hours' is a synthesized NSArray property of the ViewController
    [tempHours release];

  // two more similar array declarations here

}
Run Code Online (Sandbox Code Playgroud)

这是UIPickerView的代码方法,其中东西中断(例如,if语句)

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

    NSString *stringIndex = [NSString stringWithFormat:@"Row #%d", row];

    if(component == 0) {
        return …
Run Code Online (Sandbox Code Playgroud)

int objective-c nsstring ios

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

在UITableView中禁用滑动到删除手势

是否可以为tableView中的行/单元禁用"滑动到删除"手势?如果是这样,你怎么做?在编辑模式下,单元格仍应可编辑,但应禁用滑动到删除手势.

cocoa-touch objective-c uitableview ios

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

在没有构建App的模拟器上运行iOS应用程序

我想知道是否有可能在模拟器上'运行'Xcode项目而不首先使用'Build the Source'.

当我单击Xco​​de 4.0.2中的"运行"按钮时,它首先构建,然后运行它.

没有建筑可以运行吗?如果有可能,你怎么做?

编辑:这可能听起来像一个奇怪的问题,但我已经从第三方获得了一个Xcode项目,它告诉我运行代码而不构建它以使其在模拟器上运行.不知道该怎么做.

xcode ios

14
推荐指数
2
解决办法
7373
查看次数

在UIScrollView中嵌套的UICollectionView之间的连续垂直滚动

虽然我知道嵌套的scrollViews并不理想,但我们的设计师为我提供了这种设置,所以我尽力让它工作.让我们开始!

查看层次结构

  • 的UIView
    • UIScrollView(仅限垂直滚动)
      • 的UIImageView
      • UICollectionView#1(仅水平滚动)
      • UIImageView(与以前的UIImageView不同)
      • UICollectionView#2(仅垂直滚动)

重要的提示

我的所有视图都是使用程序化自动布局定义的.UIScrollView的子视图层次结构中的每个连续视图都对之前的视图具有y坐标依赖关系.

问题

为简单起见,让我们稍微修改一下命名法:

  • _outerScrollView 会参考 UIScrollView
  • _innerScrollView 会参考 UICollectionView #2

我希望我_outerScrollView将触摸事件路由到_innerScrollView其contentSize的底部.当我向后滚动时,我想反过来发生.

目前,我有以下代码:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    CGFloat bottomEdge = [scrollView contentOffset].y + CGRectGetHeight(scrollView.frame);
    if (bottomEdge >= [_outerScrollView contentSize].height) {
        _outerScrollView.scrollEnabled = NO;
        _innerScrollView.scrollEnabled = YES;
    } else {
        _outerScrollView.scrollEnabled = YES;
        _innerScrollView.scrollEnabled = NO;
    }
}
Run Code Online (Sandbox Code Playgroud)

其中初始条件(在任何滚动发生之前)设置为:

outerScrollView.scrollEnabled = YES;
innerScrollView.scrollEnabled = NO;
Run Code Online (Sandbox Code Playgroud)

怎么了?

在触摸视图时,outerScrollView滚动直到其底部边缘,然后具有橡皮筋效果,因为_outerScrollView.bounces = YES;如果我再次触摸视图,则innerScrollView滚动直到它到达其底部边缘.在返回的路上,相反的橡皮筋效果会以相反的顺序发生.我想要发生的是两个子视图之间的流畅运动.

显然,这是由于scrollEnabled代码片段中条件设置的条件.我想弄清楚的是如何在击中边缘时将一个scrollView的速度/速度路由到下一个scrollView.

对此问题的任何帮助将不胜感激. …

objective-c uiscrollview ios uicollectionview ios8

11
推荐指数
2
解决办法
6205
查看次数

@synchronized与NSLock实例与pthread_mutex_t

我正在观看有关多线程的(2岁)教程视频

  • NSLock实例比使用@synchronized快3倍
  • pthread_mutex_tNSLock实例快2 倍(实际上比@synchronized快6倍)

这是真的?我没有找到任何有权威的说明,但我只是想在StackOverflow上对你们中的一些人进行民意调查,以获得你们的意见和可能的证据.

谢谢!

虽然我已经接受了正确的答案,但是这个问题的未来观众会发现这篇文章很有帮助:http://perpendiculo.us/?p = 133

multithreading cocoa-touch objective-c ios

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

Firebase:将项目中定义的不同注册文本参数(名称,类型)的数量减少到20

Google Analytics for Firebase即将推出一些令人兴奋的新功能,但我们注意到您的项目配置存在一些问题,这些问题将阻止我们向您提供这些功能.

我们的记录显示您将受到影响的Firebase项目(****513).

过去,我们会对Firebase项目中的每个应用程序单独强制执行配置限制.但是,未来,这些限制将在整个项目范围内实施.因此,我们需要您的帮助,对项目的配置进行必要和适当的更改,以便为访问即将到来的升级铺平道路.

具体而言,我们需要您在2018年4月25日之前进行以下更改:

将项目中定义的不同注册文本参数(名称,类型)的数量减少到20.

不同的注册文本参数的数量是多少?因为Firebase每个应用程序只提供10个文本参数配额!

firebase firebase-analytics

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

以编程方式创建UIBarButtonItem Not Launching Selector Action

这是我的UIBarButton:

[self.navigationItem setLeftBarButtonItem:[[UIBarButtonItem alloc] 
                            initWithTitle:@"+ Contact" 
                                    style:UIBarButtonItemStylePlain 
                                   target:nil 
                                   action:@selector(showPicker:)] animated:YES];
Run Code Online (Sandbox Code Playgroud)

这是它应该启动的代码:

- (void)showPicker:(id)sender {
    ABPeoplePickerNavigationController *picker = 
     [[ABPeoplePickerNavigationController alloc] init];
    picker.peoplePickerDelegate = self;

    [self presentModalViewController:picker animated:YES];
    [picker release];
}
Run Code Online (Sandbox Code Playgroud)

当我启动应用程序并单击"+联系人"时UIBarButton,没有任何反应.没错,纳达.我输入了一个断点,它永远不会到达选择器引用的方法.

我在调用选择器的方式上做错了吗?

谢谢!

xcode objective-c uinavigationcontroller uibarbuttonitem ios

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

背景问题中的Apple推送通知

我正在使用parse.com作为我正在构建的测试应用程序的APN提供程序.我已经确认推送通知正在运行,因为我已经能够在应用程序位于前台时成功接收警报.此外,我有我的plist中指定remote-notificationUIBackgroundModes键的值.

在我的应用程序中,我希望在收到推送通知时将用户的当前位置数据发送回我的应用程序特定的parse.com数据库.我实际上并不关心通知有效负载本身,因为通知只是获取一小段信息的一种方法.该应用程序不断在后台收集数据并将其存储在持久性数据中NSDictionary.

我把位置发送代码放在application:didReceiveRemoteNotification:方法中.如果我的应用程序在收到通知时位于前台,则会调用该方法.如果我的应用程序在后台,则不会调用该方法.

  • 难道我做错了什么?
  • 甚至可以application:didReceiveRemoteNotification:在应用程序在后台并且用户没有与通知进行交互时执行API请求吗?**

编辑:即使我使用,问题仍然存在application:didReceiveRemoteNotification:fetchCompletionHandler:.

注意:我的NSDictionary充满了位置数据不是空的.此外,我不是试图在后台进行任何UI操作 - 只是尝试执行API请求.

objective-c apple-push-notifications ios

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