Questions tagged «ios»

iOS是在Apple iPhone,iPod touch和iPad上运行的移动操作系统。使用此标签[ios]来解决与iOS平台上的编程有关的问题。使用相关的标签[objective-c]和[swift]解决那些编程语言所特有的问题。

14
Xcode 6 Size Classs中的自定义字体大小无法与自定义字体一起正常使用
xcode的6有一个新的特征,其中的字体和字体大小在UILabel,UITextField和UIButton可自动基于尺寸类当前设备配置的设定,就在情节串连图板。例如,您可以将a设置为UILabel在“任何宽度,紧凑高度”配置(例如,在横向iPhone上)上使用12号字体,在“常规宽度,常规高度”配置(例如,在iPad上)上使用18号字体。更多信息请点击这里: developer.apple.com/size_class 从理论上讲,这是一个很棒的功能,因为它可能不需要基于设备配置以编程方式在UI功能上设置不同的字体。现在,我有一些条件代码可以根据设备类型设置字体,但是很明显,这意味着我必须在整个应用中的所有位置以编程方式设置字体。因此,最初,我对该功能感到非常兴奋,但是我发现它对我的实际使用存在严重问题(可能是一个错误)。请注意,我正在针对SDK 8构建并设置iOS 8的最低部署目标,因此这与与旧版本的iOS的兼容性无关。 问题是这样的: 如果我为不同的大小级别设置了不同的字体大小,并使用iOS提供的“系统”字体,那么一切都会按预期工作,并且字体大小会根据大小级别而变化。如果我使用应用程序提供的自定义字体(是的,我已经在我的应用程序捆绑包中正确设置了它,因为它可以以编程方式工作),并将该自定义字体设置为XCode 6故事板中的标签,该标签也可以按预期工作。但是,当我尝试对不同大小的类使用不同大小的自定义字体时,在情节提要中,它突然不起作用。配置上的唯一区别是我选择的字体(自定义字体与系统字体)。相反,所有字体都显示在装置和仿真器的默认系统字体在默认大小,无论大小类(我通过调试器,它是替代在故事板中指定的实际一个系统字体验证)。因此,基本上,自定义字体的大小类功能似乎已损坏。另外,有趣的是,自定义字体实际上在视图控制器的XCode 6“预览”窗格中正确显示和调整大小:仅当在实际的iOS系统上运行时,它才会停止工作(这使我认为我在正确配置它) 。 我尝试了多种不同的自定义字体,但它们似乎不适用于其中任何一种,但是如果我改用“系统”,它将始终有效。 无论如何,还有其他人在Xcode 6中看到此问题吗? 关于这是否是iOS 8,Xcode或其他错误的任何想法 我做错了吗? 正如我所说,我发现的唯一解决方法是继续以编程方式设置字体,就像我在大约三个iOS版本中一样,因为它确实可以工作。 但是,如果可以使用自定义字体,我希望能够使用此功能。我们的设计不接受使用系统字体。 其他信息: 从Xcode 8.0开始,该错误已修复。

8
如何更改独立于标签栏项目标题的uiviewcontroller标题
我在视图中设置了这样的视图控制器标题: self.title = @"my title"; 在此之前,我在故事板中设置了其嵌入的视图控制器和导航控制器的标题。我将其设置为:“ Title”; 当我单击包含视图控制器的选项卡时,选项卡栏项目的标题uiviewcontroller更改为:我的标题 我想更改视图控制器,但选项卡栏项保留标题:Title 我该怎么做?

8
什么时候可以激活/停用布局约束?
我在IB中设置了多组约束,并且我想根据某种状态以编程方式在约束之间进行切换。有一个constraintsA插座集合都标记为已从IB安装,而constraintsB所有插座集合都已从IB 中卸载。 我可以通过编程方式在两组之间切换,如下所示: NSLayoutConstraint.deactivateConstraints(constraintsA) NSLayoutConstraint.activateConstraints(constraintsB) 但是...我不知道何时该做。看来我应该能够一次完成该操作viewDidLoad,但是我无法使其正常工作。我已经打过电话view.updateConstraints(),并view.layoutSubviews()设置约束条件之后,但无济于事。 我确实发现,如果我在viewDidLayoutSubviews所有工作中都按预期设置了约束,我想我想知道两件事... 为什么会出现这种情况? 是否可以从viewDidLoad激活/停用约束?



4
是什么使钥匙串物品与众不同(在iOS中)?
我的问题涉及iOS(iPhone,iPad等)中的钥匙串。我认为(但不确定)在Mac OS X下实施钥匙串会引起同样的问题,且答案相同。 iOS提供了五种类型(类)的钥匙串项目。您必须为该键选择这五个值之一kSecClass来确定类型: kSecClassGenericPassword used to store a generic password kSecClassInternetPassword used to store an internet password kSecClassCertificate used to store a certificate kSecClassKey used to store a kryptographic key kSecClassIdentity used to store an identity (certificate + private key) 看完苹果的文档,博客和论坛条目的很长一段时间,我发现这种类型的钥匙串项目kSecClassGenericPassword从属性得到它的独特性kSecAttrAccessGroup,kSecAttrAccount和kSecAttrService。 如果请求1中的这三个属性与请求2中的相同,则无论其他任何属性如何,您都会收到相同的通用密码钥匙串项。如果此属性中的一个(或两个或所有)更改其值,那么您将获得不同的项目。 但是kSecAttrService仅适用于类型的项目kSecClassGenericPassword,因此它不能成为任何其他类型的项目的“唯一键”的一部分,并且似乎没有文档明确指出哪些属性唯一地确定了钥匙串项目。 “ GenericKeychain”的“ KeychainItemWrapper”类中的示例代码使用该属性kSecAttrGeneric使一个项目唯一,但这是一个错误。在本示例中,这两个条目仅存储为两个不同的条目,因为它们kSecAttrAccessGroup是不同的(一个设置了访问组,另一个设置了访问组)。如果您尝试使用Apple的添加不带访问组的第二个密码KeychainItemWrapper,则将失败。 所以,请回答我的问题: 这是真的,那的组合kSecAttrAccessGroup,kSecAttrAccount并且kSecAttrService是一个钥匙串项目,其kSecClass是“唯一钥匙” kSecClassGenericPassword? …

15
Xcode命令/ usr / bin / codesign失败,退出代码为1:errSecInternalComponent
我试图将新的配置文件添加到我的Xcode,以测试设备上的应用程序。这是我遵循的步骤: 删除所有证书和配置文件 创建/添加IOS开发证书 在线添加我的IOS设备 创建IOS配置文件 添加IOS配置文件 清洁应用 生成然后运行应用程序 在构建设置中设置协同设计和供应配置文件 大量使用Google搜索>没有成功 这是我得到的错误: CSSM_SignData returned: 800108E6 /Users/alexpelletier/Library/Developer/Xcode/DerivedData/MyExpense-efnqzvoqwngzcmazaotyalepiice/Build/Products/Debug-iphoneos/MyExpense.app: errSecInternalComponent Command /usr/bin/codesign failed with exit code 1

22
NSDate一天的开始和结束
-(NSDate *)beginningOfDay:(NSDate *)date { NSCalendar *cal = [NSCalendar currentCalendar]; NSDateComponents *components = [cal components:( NSMonthCalendarUnit | NSYearCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit ) fromDate:date]; [components setHour:0]; [components setMinute:0]; [components setSecond:0]; return [cal dateFromComponents:components]; } -(NSDate *)endOfDay:(NSDate *)date { NSCalendar *cal = [NSCalendar currentCalendar]; NSDateComponents *components = [cal components:( NSMonthCalendarUnit …

4
在iOS 8中处理方向更改的“正确”方法是什么?
有人可以告诉我在iOS 8中使用纵向和横向界面方向的“正确”或“最佳”方法吗?似乎我要用于此目的的所有功能在iOS 8中均已弃用,而我的研究却没有找到清晰,优雅的替代方法。我真的应该看一下宽度和高度来确定自己是纵向还是横向模式吗? 例如,在我的视图控制器中,应如何实现以下伪代码? if we are rotating from portrait to landscape then do portrait things else if we are rotating from landscape to portrait then do landscape things


30
UICollectionView的cellForItemAtIndexPath没有被调用
只有第二次使用UICollectionView了,也许我咬的东西比我可以咀嚼的要多,但是: 我正在实现一个UICollectionView(myCollectionView),它使用已子类化的自定义UICollectionViewCell。子类化的单元格(FullReceiptCell)包含UITableView,并且是viewcontroller的大小。我试图允许FullReceiptCells之间的水平滚动。 包含myCollectionView的子类UICollectionViewController被推入导航控制器堆栈。当前,myCollectionView区域和水平滚动已启用。但是,看不到任何单元格。我已经确认 - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section 已运行并返回大于0的整数。我还确认myCollectionView的委托和数据源已在IB中正确设置为子类UICollectionViewController。 加载单元格的方法: - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 没有被调用。 这是我在该控制器内推送UICollectionViewController和viewDidLoad方法的位置(注意:initWithBill是常规初始化程序的替代): 在先前的ViewControllers .m文件中: FullReceiptViewController *test = [[FullReceiptViewController alloc] initWithBill:currentBill]; test.title = @"Review"; [self.navigationController pushViewController:test animated:YES]; 在FullReceiptViewController.m中: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. [self.myCollectionView …

5
获取UITableView的选定索引
我想为选择索引UITableView。我写了以下代码: NSIndexPath *index = [NSIndexPath indexPathForRow:1 inSection:0]; [tableView scrollToRowAtIndexPath:index atScrollPosition:UITableViewScrollPositionTop animated:YES]; 这始终适用于第一项。我想在其中选择索引indexPathForRow. 请帮忙。谢谢。

4
远程推送通知是否需要在Info.plist中添加UIBackgroundModes?
我已经集成了远程推送通知,但是却收到此警告: didReceiveRemoteNotification:fetchCompletionHandler:],但你仍然需要添加“ remote-notification”到列表的支持 UIBackgroundMode在你的S Info.plist。 我的Xcode版本是8.3.1。我真的很想将此添加到中Info.plist。我也遵循了一些教程,但是他们也都没有提到。我该怎么办


15
向UICollectionViewCell添加圆角和阴影
因此,我已经在添加第二视图以添加阴影的过程中经历过各种讨论,但是如果要在中添加阴影,我仍然无法使它正常工作UICollectionViewCell。我将其子类化UICollectionViewCell,这是我的代码,在其中向单元格的内容视图添加各种UI元素,并向图层添加阴影: [self.contentView setBackgroundColor:[UIColor whiteColor]]; self.layer.masksToBounds = NO; self.layer.shadowOffset = CGSizeMake(0, 1); self.layer.shadowRadius = 1.0; self.layer.shadowColor = [UIColor blackColor].CGColor; self.layer.shadowOpacity = 0.5; [self.layer setShadowPath:[[UIBezierPath bezierPathWithRect:self.bounds] CGPath]]; 我想知道如何在上添加圆角和阴影UICollectionViewCell。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.