Questions tagged «ios»

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

8
如何以编程方式调用View Controller?
我看了所有可以在此教程上找到的教程,但仍然没有答案。我需要从代码中调用另一个视图。我正在使用UIStoryboards。我通过从拖动控件多次更改了视图UIButtons,但是现在它必须来自代码。如果这是用户第一次打开该应用程序,我试图从主菜单调用信息页面。但是,我似乎找不到从代码中更改视图的方法。我所有的视图都由相同的文件(ViewController2)控制。在identifier我的主菜单是ViewControllerMain,而identifier该信息页面的是ViewControllerInfo。首先,我尝试了这个: [ViewControllerMain presentViewController: ViewControllerInfo animated:YES completion: NULL]; 然后,我尝试使UIViewControllers每种方法有所不同并说: [ViewController2 presentViewController: ViewController animated:YES completion: NULL]; 两者都不起作用。对于第一个,它说: 使用未声明的标识符ViewControllerMain。 在第二个中,它说: 意外的接口名称'ViewController':预期的标识符。 我能做什么?

4
'无效的更新:第0部分中的无效行数
我已经阅读了所有与此相关的文章,但仍然出现错误: 'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (5) must be equal to the number of rows contained in that section before the update (5), plus or minus the number of rows inserted or deleted from …

9
动画UILabel字体大小更改
我目前正在制作一个使用自定义View Controller容器的应用程序。一次在屏幕上显示多个视图,而当一个视图被点击时,选定的视图控制器会设置为全屏动画。这样做时,选定的视图控制器子视图也会缩放(帧,字体大小等)。尽管如此,UILabel的font属性无法设置动画,从而导致问题。我已经尝试了多种解决方案,但全部失败了。 我尝试过的解决方案是: 截取较大视图的屏幕截图并为更改添加动画效果(类似于Flipboard的操作) 通过使用transform属性进行动画处理 缩小UIScrollView并在全屏显示时将其放大。 设置将adjustsFontSizeToFitWidth设置为YES,并在动画之前设置fontSize 到目前为止,这是最好的解决方案,但我对此并不满意。 我正在寻找其他建议,如果有人可以使用[UIView animate ..]平滑制作动画或使用UILabel替换动画。 这是一个很好的示例,类似于我希望UILabel进行的操作:http : //www.cocoawithlove.com/2010/09/zoomingviewcontroller-to-animate-uiview.html 编辑:此代码有效 // Load View self.label = [[UILabel alloc] init]; self.label.text = @"TEXT"; self.label.font = [UIFont boldSystemFontOfSize:20.0]; self.label.backgroundColor = [UIColor clearColor]; [self.label sizeToFit]; [self.view addSubview:self.label]; // Animation self.label.font = [UIFont boldSystemFontOfSize:80.0]; self.label.transform = CGAffineTransformScale(self.label.transform, .25, .25); [self.label …

10
在UICollectionView上动态设置布局会导致莫名其妙的contentOffset更改
根据Apple的文档(并在WWDC 2012上大肆宣传),可以UICollectionView动态设置布局,甚至为更改设置动画: 通常,在创建集合视图时可以指定布局对象,但是也可以动态更改集合视图的布局。布局对象存储在collectionViewLayout属性中。设置此属性可直接更新布局,而无需设置更改动画。如果要对更改进行动画处理,则必须改为调用setCollectionViewLayout:animated:方法。 但是,实际上,我发现对UICollectionView进行了莫名其妙甚至无效的更改contentOffset,导致单元无法正确移动,从而使该功能实际上无法使用。为了说明问题,我将以下示例代码放在一起,可以将其附加到放置在情节提要中的默认集合视图控制器上: #import <UIKit/UIKit.h> @interface MyCollectionViewController : UICollectionViewController @end @implementation MyCollectionViewController - (void)viewDidLoad { [super viewDidLoad]; [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"CELL"]; self.collectionView.collectionViewLayout = [[UICollectionViewFlowLayout alloc] init]; } - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return 1; } - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionViewCell *cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"CELL" forIndexPath:indexPath]; cell.backgroundColor …

17
带有UIImage标题的导航栏
我想通过使用徽标图像(而不是纯文本)作为导航栏的标题来自定义应用程序的外观。当我使用此代码 let logo = UIImage(named: "logo.png") self.navigationItem.titleView = logo; 我收到错误“ UIImage无法转换为UIView”。如何正确执行此操作?


11
从NSData或UIImage查找图像类型
我正在从第三方提供的URL加载图像。URL(因为它是模糊的URL)上没有文件扩展名(或与此相关的文件名)。我可以从中获取数据(以NSData的形式),并将其加载到UIImage中,然后很好地显示。 我想将此数据保存到文件中。但是,我不知道数据的格式(PNG,JPG,BMP)?我假设它是JPG(因为它是来自网络的图像),但是有确定的编程方式可以确定吗?我到处查看StackOverflow和文档,却找不到任何东西。 TIA。 编辑:我真的需要文件扩展名吗?我将其持久保存到外部存储(Amazon S3)中,但考虑到它将始终用于iOS或浏览器的上下文中(两者都可以很好地解释数据而无需扩展名),也许这不是问题。

3
iOS:设备旋转后如何运行功能(快速)
我有一个不使用自动布局的UIView,并且根据其在主视图中X和Y坐标的百分比显示了一些组件。 以前,我会运行一个函数来更新它们在didRotateFromInterfaceOrientation中的位置,但是我看到现在iOS8中已弃用此功能。 我看过viewWillTransitionToSize,但结果很奇怪,而且似乎没有viewDidtransitionToSize函数。 设备旋转后,是否有一种简便的方法(在Swift中)运行函数?
70 ios  swift  rotation 

7
如何正确地继承UIControl?
我不要UIButton或类似的东西。我想UIControl直接子类化并进行自己的非常特殊的控制。 但是由于某种原因,我重写的任何方法都不会被调用。目标动作材料起作用,并且目标接收适当的动作消息。但是,在我的UIControl子类中,我必须捕获触摸坐标,而这样做的唯一方法似乎是重写这些家伙: - (BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event { NSLog(@"begin touch track"); return YES; } - (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event { NSLog(@"continue touch track"); return YES; } 他们得到从来没有所谓的,即使UIControl与指源自初始化实例化UIView,initWithFrame:。 我可以找到的所有示例都始终使用UIButton或UISlider作为子类的基础,但我想走得更近些,UIControl因为这就是我想要的源:快速且无延迟的Touch坐标。

8
光标未显示在UITextView中
有人能想到闪烁的光标不会出现在屏幕中的原因UITextView吗?我有一个自定义控件,它只是它的一个子类,UIView并且其中有一个UITextView,但是当它获得焦点时,光标不会出现。出现键盘,并且在您键入时显示文本,但是没有光标,我不知道为什么。 有什么想法吗?...

19
如何将iPhone OSStatus代码转换为有用的东西?
我对这个iPhone SDK及其文档感到不快... 我正在呼叫AudioConverterNew 在“返回”下的文档中:它说“返回状态码” ...真的... 到目前为止,通过玩弄参数,我只能得到两个不同的错误,在Audio Converter参考的底部都没有列出。 它们是'mrep'和'?tmf'(将OSStatus广播到char数组),但是具体的代码并不是真正的重点。 据我所知,随机错误代码是在随机文件中定义的,因此您不能仅搜索一个文件,也找不到帮助文档,该文档仅允许您搜索错误代码以获取更多信息,并从我可以说,在OS X中,您可以使用GetMacOSStatusErrorString()将错误转换为有用的东西,但是没有iPhone等效的东西吗? 任何帮助将不胜感激。 编辑: 好的,所以将它们强制转换为反向(我检查了“ mrep”但没有回过头来),fmt吗?在音频转换器api的列表中,如果有点含糊,但还算公道,仍然不存在“烫发”(尽管可能与不支持aac解码的模拟器有关),这很容易解释。一般问题仍然存在。

4
在主线程上发布NSNotification
我发现了以下代码片段,该片段允许NSNotification从任何后台线程发布到主线程上。我想知道这是否是一种安全且可以接受的做法? dispatch_async(dispatch_get_main_queue(),^{ [[NSNotificationCenter defaultCenter] postNotificationName:@"ImageRetrieved" object:nil userInfo:imageDict]; });

1
Xcode项目格式:3.1、3.2、6.3和8.0有什么区别?
当我在Xcode 9(或更早版本)中打开一个项目并检查File Inspector时,有一个名为Project Document的部分,带有一个名为Project Format的组合框。 可用的选项(在Xcode中9)有Xcode 3.1-compatible,Xcode 3.2-compatible,Xcode 6.3-compatible,和Xcode 8.0-compatible: 这些格式之间有什么区别? -更新历史(截至2019年5月20日)- 我最初在Xcode 6.4出现时问这个问题。 Xcode的6.4的名单包括Xcode 3.1-compatible,Xcode 3.2-compatible和Xcode 6.3-compatible,并默认为Xcode 3.2-compatible。 Xcode 7没有进行任何更改。 Xcode 8添加了一个Xcode 8.0-compatible项目。 Xcode 9将新项目的默认设置更改为Xcode 8.0-compatible。(2017年10月8日)添加了 Xcode 10.2Xcode 9.3-compatible,Xcode 10.0-compatible(2019年5月)


6
没有Mac的Xamarin Visual Studio IOS开发?
我是.NET开发人员,想用C#编写IOS和Android应用程序。我已经阅读了有关Visual Studio的Xamarin的内容,即使不是有点贵也看起来很有趣! 您需要Mac来调试代码吗?您只需要联网的Mac即可将应用程序实际部署到商店? 最好的选择是购买Mac并在VM中运行带VS的Windows,还是我可以使用Windows计算机,在Windows中编写和调试代码,然后仅连接到联网的Mac进行最终部署?
70 c#  android  ios  macos  xamarin 

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.