Tag: objective c

Objective-C(cocoa)相当于python的endswith / beginwith

Python有string.startswith()和string.endswith()函数,这是非常有用的。 我可以使用哪些NSString方法来实现相同的function?

切换隐私设置将杀死应用程序

我有一个使用iPhone的联系人的应用程序。 使用iOS 6时,系统会提示用户在第一次尝试时进行联系人访问。 此时,用户可以点击“允许”或“不允许”。 问题是当用户背景的应用程序,然后导航到设置 – >隐私 – >联系人切换我的应用程序的联系人隐私设置。 一旦切换,我可以在控制台上看到我的应用程序: 应用程序'UIKitApplication:com.myApp'exception退出,信号9:已杀死:9 在苹果的文档中我找不到任何有关这方面的信息。 有谁知道一个方法来防止这个? 这是devise的吗? 或者这是一个苹果的错误?

在iOS 7中移动状态栏

我面临的问题是这样的: 我想实现一个好的devise和左/右菜单的iOS 7应用程序,它出现在主视图animation自己的右/左后。 我正在用[UIView animateWithDuration…]代码来做这[UIView animateWithDuration…] ,但这并不重要。 我想达到的效果与Mailbox iOS 7应用程序具有的效果相同:使用主视图移动状态栏(向右/向左) 图像更好的解释: 我只find这篇关于这个问题的文章,其中一些工作代码使用私有API,我不想使用,因为我希望我的应用在App Store上被接受。 我想达到同样的效果(“合法”)。 有谁知道如何? 谢谢!

如何以编程方式创buildUIScrollView?

好的,所以这里的关键是我没有使用IB,因为我正在使用的视图是以编程方式创build的。 UIView覆盖屏幕的下半部分,并在其上有一堆button。 但是,我想添加更多的button到UIView ,而不是更大。 为此,我想在视图中创build一个UIScrollView ,这将允许我在屏幕上添加更多button,以便用户可以滚动到它们。 我认为这是如何工作的。 self.manaView = [[[UIView alloc] initWithFrame:frame] autorelease]; self.manaView.backgroundColor = [UIColor purpleColor]; UIScrollView *scroll = [UIScrollView alloc]; scroll.contentSize = CGSizeMake(320, 400); scroll.showsHorizontalScrollIndicator = YES; [self.manaView addSubview:scroll]; 代码的第一部分介绍了我的UIView ,这很好,但我不知道如何编程UIScrollView并将其添加到视图,然后将button添加到它。 UIButton *ret2 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; ret2.tag = 102; ret2.frame = CGRectMake(255, 5, 60, 50); [ret2 setTitle:@"Return" forState:UIControlStateNormal]; [ret2 addTarget:self action:@selector(flipAction:) forControlEvents:UIControlEventTouchUpInside]; [scroll […]

如何在OCMock中存根类的方法?

我经常在我的iPhone Objective-Cunit testing中发现我想要将一个类方法(例如NSUrlConnection的+ sendSynchronousRequest:returningResponse:error:方法)存根出来。 简单的例子: – (void)testClassMock { id mock = [OCMockObject mockForClass:[NSURLConnection class]]; [[[mock stub] andReturn:nil] sendSynchronousRequest:nil returningResponse:nil error:nil]; } 运行这个时,我得到: Test Case '-[WorklistTest testClassMock]' started. Unknown.m:0: error: -[WorklistTest testClassMock] : *** -[NSProxy doesNotRecognizeSelector:sendSynchronousRequest:returningResponse:error:] called! Test Case '-[WorklistTest testClassMock]' failed (0.000 seconds). 我真的很难find任何文档,但我认为OCMock不支持类方法。 我经过了很多Googlesearch之后发现了这个技巧。 它工作,但是非常麻烦: http : //thom.org.uk/2009/05/09/mocking-class-methods-in-objective-c/ 无论如何要在OCMock内做到这一点? 或者,有人可以想到一个聪明的OCMock类别对象,可以写成这样的事情?

将设备旋转到风景时出现UICollectionViewFlowLayout尺寸警告

我们使用UICollectionView来显示覆盖整个屏幕的单元格(减去状态和导航栏)。 单元格大小从self.collectionView.bounds.size设置: – (void)viewWillAppear:(BOOL)animated { // // value isn't correct with the top bars until here // CGSize tmpSize = self.collectionView.bounds.size; _currentCellSize = CGSizeMake( (tmpSize.width), (tmpSize.height)); } – (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { return _currentCellSize; } 这为每个设备设置了正确的大小。 每个单元格被定义为没有插页,并且布局没有页眉或页脚。 但是,当我们从肖像旋转到风景时,我们得到以下“投诉”: the behavior of the UICollectionViewFlowLayout is not defined because: the item height must be less […]

我如何返回在Swift的instancetype

我想做一些类的扩展来返回运行时types对象 例如,我创build了类A的扩展 extension A { class func niceObject() -> XXXXX { // in objective-c is instancetype return …. } } 所以任何人都知道在Swift中有实例types关键字或不能replacexxxxx ,我可以在A的子类上调用这个函数,而无需手动转换 var b: B = B.niceObject() 谢谢

用UIActivityIndi​​catorViewreplaceUIBarButtonItem

我想用UIActivityIndicatorViewreplace我的UIBarButtonItem (用于刷新),当刷新完成时,我想回到刷新button并删除UIActivityIndicatorView 。

获取枚举项的总数

是否有可能获得在运行时由枚举定义的项目总数? 虽然这个问题和这个问题几乎是一样的,但是这个问题涉及到C#,据我所知,在那里提供的方法在Objective-C中不起作用。

无法更改iOS 7(iPad)上的静态表格视图单元格的背景颜色

在iOS设备上运行时,我无法更改iOS 7上的静态UITableViewCells的背景颜色。 您可以使用以下设置轻松检查: 在Xcode 5中使用两个故事板创build一个新的通用项目。 在每个故事板中,只放置一个控制器 – 表视图控制器,并将其设置为初始控制器。 在控制器/故事板中的表格视图中放置几个​​(如3个)静态单元格。 在Interface Builder中将每个静态单元格的背景颜色设置为不同的颜色(我使用红色,绿色和清除颜色)。 现在,在iPhone和iPad模拟器(iOS 7)上运行应用程序。 在iPhone模拟器上,一切正常。 而在iPad模拟器上,所有的单元格都是白色的。 我试图通过在Interface Builder中为单元设置运行时属性来强制iPad正常工作: backgroundColor清除颜色 contentView.backgroundColor清除颜色 backgroundView为零 但没有什么帮助。 实际上,设置contentView.backgroundColor的运行时属性将会改变单元格的颜色,但是它不能用清晰的颜色(这意味着在它后面有另一个白色的视图)。 非常奇怪的是,在同一版本的iOS上的两个设备产生不同的结果。 任何人都可以证实这个错误? 有没有人有这个问题的解决scheme,或者唯一的办法是去dynamic属性+ cellForRowAtIndexPath设置颜色? 我想使用静态单元格,因为问题的性质是静态的。 PS我只是意识到,我忘了尝试设置backgroundView.backgroundColor运行时属性清除颜色,我目前无法访问Mac。 也许这会做的伎俩。