草庐IT

iphone - 为什么 UIKit 操作必须在主线程上执行?

我想了解为什么不能使用多线程执行UI操作。这是否也是其他框架(如OpenGL或cocos2d)的要求?C#和javascript等其他语言怎么样?我尝试在谷歌中查找,但人们提到了一些我不理解的关于POSIX线程的内容。 最佳答案 在CocoaTouch中,UIApplication即您的应用程序实例附加到主线程,因为该线程是由UIApplicatioMain()创建的,它是cocoatouch。它设置主事件循环,包括应用程序的运行循环,并开始处理事件。应用程序的主事件循环接收所有UI事件,即触摸、手势等。来自文档UIApplicat

ios - -[UIPickerTableView _createPreparedCellForGlobalRow :withIndexPath:],/SourceCache/UIKit_Sim/UIKit-2903.2/UITableView.m:7768 断言失败

我试图用UIToolBar显示UIPickerView但出现了一些错误。这是我的代码-CGRecttoolbarTargetFrame=CGRectMake(0,self.view.bounds.size.height-216-44,320,44);CGRectdatePickerTargetFrame=CGRectMake(0,self.view.bounds.size.height-216,320,216);UIView*darkView=[[UIViewalloc]initWithFrame:self.view.bounds];darkView.alpha=0;darkView.

objective-c - UIKit : [UIViewController mutableChildViewControllers] crash?

我最近收到了一份来自iTunesConnect的崩溃报告。事实上,这是我从成千上万的用户那里得到的唯一一份崩溃报告。这是一个iPod4,1设备。有趣的部分是:Date/Time:2012-02-2722:53:27.596+0800OSVersion:iPhoneOS5.0.1(9A405)ReportVersion:104ExceptionType:EXC_CRASH(SIGABRT)ExceptionCodes:0x00000000,0x00000000CrashedThread:0LastExceptionBacktrace:0CoreFoundation0x338958bf__

ios - 调试 UIKit 崩溃 [UINavigationController initWithRootViewController]

Xcode7.0.1更新:我最近尝试的是分解UINavigationController的创建:self.viewController=[[ProjectsViewControlleralloc]initWithNibName:@"ProjectsViewController_iPhone"bundle:nil];self.navigationController=[[UINavigationControlleralloc]init];[self.navigationControllersetViewControllers:@[self.viewController]];self.wi

ios - 如何在 UIKit 中调试谁在吃我的触摸?

我不明白为什么在我的View中点击文本字段和按钮不起作用。我已经检查了所有明显的事情,例如userInteractionEnabled是否设置为YES,是否安装了手势识别器,以及前景中是否有不可见View。iOS中是否有跟踪触摸从第一次出现到被使用的最佳实践?更新:两个答案都很有帮助。在我的调查过程中,我了解到如果subview在其父View的范围之外,即使父View没有剪裁subview,subview也不会接收事件。我从未触及的文本字段中打印出superView链,我看到其中一个View的高度为0。我设置了一些约束以将其拉伸(stretch),我的问题就解决了。

ios - UITableView 上的 UIKit 动态

您能否在UITableView滚动时(如在iOS7上的消息应用程序中)添加弹性单元格效果?我见过它在UICollectionView上工作的示例,但绝对没有用于TableView。这是不可能的吗?我应该将每个TableView更改为CollectionView并重做所有单元格吗? 最佳答案 很遗憾,没有。每个UICollectionView都有一个布局对象(一个UICollectionViewLayout子类),它描述了每个单元格在CollectionView的ScrollView中的位置以及哪些单元格在给定的CGRect中可见.U

ios - "This UIView seems to be the delegate of an NSISVariable it doesn' t 什么都不知道。这是一个内部 UIKit 错误“错误

我正在做一个opengl项目。我使用了一些图像(2个用于x-y比例尺)和标签(8)在屏幕上显示比例尺。我的第一个View是tableview,我从中转到openglView。但是每当我从openglView返回到tableView时,它都会给我这个错误并且应用程序崩溃。“这个UIView似乎是它一无所知的NSISVariable的委托(delegate)。这是一个内部UIKit错误。”有什么建议吗?发生这种情况是因为我包含了太多的UI元素,除了那些我还使用了一些按钮的图像和标签。我正在对这些图像和标签以及一个按钮应用affineTransform。确切的错误是:2013-01-3112

ios - 带有附件的 UIKit 动态行为平移不继续碰撞行为?

如何在UIDynamicItem的平移上进行碰撞检测?背景:我从一组颜色/字符串中随机生成20个标签(这部分对问题来说不是必需的),然后将它们添加到具有随机中心位置的主视图.从那里,我添加了UIDynamicBehavior,如下所示:1)UIDynamicItemBehavior停止标签旋转2)UISnapBehavior将标签捕捉到View的中心(我想要类似重力的运动,但同样,这不是这个问题)3)UICollisionBehavior用于collisionMode为.Items的所有标签。这在“初始”设置中有效...所有标checkout现在随机点,然后在中心快速对齐,并进行适当的

uikit - 如何在 Swift 中将 UIFont 对象转换为 CTFont

我正在尝试将一些代码移植到使用UIFont和CTFont的Swift,并且(成功地,在Objective-C中)使用简单的桥接转换从一个到另一个,反之亦然。例如,考虑这段代码(在UIFontDescriptor类别中):UIFont*font=[UIFontfontWithDescriptor:selfsize:0.0];NSArray*features=CFBridgingRelease(CTFontCopyFeatures((__bridgeCTFontRef)font));我还没有弄清楚如何以实际编译的方式在Swift中表达它。以下至少不会:letfont=UIFont(desc

ios - 不使用桥接 header 访问私有(private) UIKit 函数

考虑私有(private)C函数_UICreateScreenUIImage,返回当前设备屏幕的UIImage快照:OBJC_EXTERNUIImage*_UICreateScreenUIImage(void)NS_RETURNS_RETAINED;我可以把它放在桥接头中,然后像这样在Swift中访问它:MyApp-Bridging-Header.h@importUIKit;UIImage*_UICreateScreenUIImage(void)NS_RETURNS_RETAINED;MyClass.swiftletimage=_UICreateScreenUIImage()print