草庐IT

Swift-Cocoa

全部标签

ios - 在 Cocoa Touch 中实现去抖动/合并模式,例如 `layoutSubviews`

许多CocoaTouch类利用合并事件的设计模式。例如,UIViews有一个方法setNeedsLayout,它会在不久的将来调用layoutSubviews。这在许多属性影响布局的情况下特别有用。在每个属性的setter中,您可以调用[selfsetNeedsLayout]这将确保布局将被更新,但如果同时更改多个属性甚至会阻止对布局的许多(可能昂贵的)更新如果在运行循环的一次迭代中多次修改单个属性。其他昂贵的操作,如setNeedsDisplay和drawRect:这对方法遵循相同的模式。实现这种模式的最佳方法是什么?具体来说,我想将一些依赖属性绑定(bind)到一个昂贵的方法,如果

ios - 在 Cocoa 中以编程方式创建 NSView

我习惯于为iOS编程,并且我已经非常习惯于UIViewController。现在,我正在创建一个OSX应用程序,我有一些关于最佳实践的一般性问题。在UIViewController中,我通常在-(void)viewDidLoad方法中设置我的View-我实际上并没有创建自定义UIView对于UIViewController除非它真的需要-所以UIViewController将View添加到它自己的View,删除它们,为它们设置动画等等-首先,这是好的做法吗?对于我的主要问题-OSX中的最佳实践是什么?我喜欢以编程方式创建界面,并且更喜欢这种方式。如果我说创建一个新的自定义窗口并想要管理

cocoa-touch - 在 iOS 中淡入异步加载的图像

我正在尝试找到一种异步加载图像的方法,而不是让图像“只出现”在UIImageView中,而是让它们淡入,类似于在iPad上的YouTube应用程序中完成的方式。有人知道我该怎么做吗?我试过四处寻找做过类似事情的人,但运气不佳,我不确定从哪里开始。 最佳答案 我也必须推出自己的解决方案。我从thistutorialforasyncloadingofUIImageViews开始(虽然它讨论的是表格View中的图像,但相同的原则通常适用于ImageView。就淡入淡出部分而言,该代码块看起来像这样:imageView.alpha=0;[U

ios - swift 3 facebook sdk 获取好友列表

我需要获取我所有的好友列表:我找到了这段代码:varfbRequestFriends:FBSDKGraphRequest=FBSDKGraphRequest(graphPath:"/{friend-list-id}",parameters:[AnyHashable:Any]())fbRequestFriends.start{(connection,result,error)iniferror==nil&&result!=nil{print("RequestFriendsresult:\(result!)")}else{print("Error\(error)")}}但作为返回,我得到了

cocoa-touch - 界面生成器 : How to select nested elements?

在界面生成器中是否有一种方法可以看到我的元素树,以便我可以那样选择它们。很难在实际View本身中选择内容,尤其是当我有很多元素和嵌套View等时。谢谢 最佳答案 尝试按住Shift键并右键单击某个元素。它应该向您显示该元素下的View层次结构的菜单。实际上,等等,这显示了层次结构中高于的元素。你想要做的是使用Nib窗口(不是Nib的View,而是另一个带有文件所有者等的窗口),选择“窗口”,然后将其设置为列View,这样你就可以更轻松地浏览。 关于cocoa-touch-界面生成器:Ho

cocoa-touch - Xcode 4 支持的设备方向

我最近升级到Xcode4。以前在Xcode3中设置允许的设备方向时,您必须编辑应用程序委托(delegate)中的shouldAutorotateToInterfaceOrientation:方法。但是现在在Xcode4中,我看到Targets->Summary中有一个选项,您可以在其中选择不同的方向。哪个选项会优先于另一个选项?干杯,彼得 最佳答案 你的内存有点问题;shouldAutorotateToInterfaceOrientation:在UIViewController的自定义子类中。所以它允许每个ViewControll

ios - 在 Cocoa Touch 中以编程方式切换 View

如何在iPhone应用程序中以编程方式更改屏幕View?我已经能够创建导航View并以编程方式推送/弹出它们以产生这种行为,但是如果我想简单地更改当前View(不使用UINavigationController对象),实现此目的的最巧妙方法是什么?举个简单的例子,假设一个应用程序只有一个按钮,按下时将显示一个新View,或者可能是多个View之一,具体取决于某些内部状态变量。我还没有看到任何尝试这样做的例子,而且我似乎对UIViewController/UIView对象之间的关系和初始化过程了解不够,无法以编程方式实现这一点。 最佳答案

ios - Objective-C/Swift (iOS) 何时在 View/ViewController 工作流程中应用自动约束?

我在弄清楚何时在View设置过程中应用XIB上的auto-contraints设置时遇到了一些问题。更多解释:我已经为View设置了一个XIB我将“模拟指标”尺寸设置为iPhone3.5英寸我已将自动约束添加到此View内的subview在ViewController中,我根据viewDidLoad方法中的subview(IBOutlet)frames/bounds执行某些操作在View中,我根据awakeFromNib方法中的subview(IBOutlet)frames/bounds执行某些操作在这2个方法中(ViewController::viewDidLoad和View::aw

ios - swift 3 中的 NSNumber 问题

我已经将我的项目转换为swift3,但我遇到了一个我无法处理的NSNumber问题。这是我的数字格式化程序声明letnumberFormatter:NumberFormatter={letnf=NumberFormatter()nf.numberStyle=.decimalnf.minimumFractionDigits=0nf.maximumFractionDigits=1returnnf}()这里是错误的地方。性价比是双倍的,肯定其他东西还行。Label.text=numberFormatter.string(from:NSNumber(value))来自调试器的消息:Argume

ios - 在特定 View 中隐藏导航栏 - Swift 3

我有NavigationController来处理我的应用程序中的导航。根据我的设计,第一个View应该没有可见的NavigationBar。之后的所有其他人都会。在这个FirstView中,到目前为止,我正在使用它来隐藏ViewDidLoad中的NavBar:self.navigationController?.isNavigationBarHidden=true我可以从这个FirstView访问其他View。在这些其他View中,我使用以下方式显示NavBar:self.navigationController?.isNavigationBarHidden=false我的问题是:当