我已经使用 Xcode 构建了一个 iOS 应用程序,现在将其转换为 RubyMotion。
使用界面生成器,我能够在我的一个视图控制器上的导航栏中添加分段控件。当我尝试在 RubyMotion 中以编程方式重新创建它时,应用程序崩溃而不报告错误是什么。
谁能指出我哪里出错了?另外, init 是声明这个的最佳位置吗?还是视图生命周期回调之一,例如 viewDidLoad?
class MyController < UIViewController
def init
if super
image = UIImage.imageNamed('tab_bar_icons/one.png')
self.tabBarItem = UITabBarItem.alloc.initWithTitle('One', image: image, tag:1)
self.navigationItem.titleView = searchTypeContol # when commented out, the app doesn't crash!
end
self
end
def searchTypeControl
@searchTypeControl ||= begin
_searchTypeControl = UISegmentedControl.alloc.initWithFrame( CGRectZero)
_searchTypeControl.segmentedControlStyle = UISegmentedControlStyleBar
_searchTypeControl.insertSegmentWithTitle('One', atIndex: 0, animated: false)
_searchTypeControl.insertSegmentWithTitle('Two', atIndex: 0, animated: false)
_searchTypeControl.insertSegmentWithTitle('Three', atIndex: 0, animated: false)
_searchTypeControl.sizeToFit
_searchTypeControl
end
end
end