首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【IOS开发基础系列】Storyboard专题

    1.2 程序加载         如果你以前创建过基于 nib 的app(译者注:Xcode 3.x),你可能知道MainWindow.xib 文件。...但在某些时候我们必须通过手动创建TabbarController,这样就必须知道在不使用模板时应该如何去做。         ...当你将一个 ViewController 连接到TabBarController时,会在 ViewController 上创建一个TabBarItem 对象。...Label 的尺寸也随之变化:         经过这些调整,删除按钮的出现会将星级图标挤到左边:         你也可以在删除按钮出现时让星星们消失,这就留给读者们自己去实现了。...3 设计原则 3.1 布局设计原则 3.1.1 一个控件的布局尽量只采用一种方式,要么是Storyboard(XIB)要么是代码         因为视图在刷新时,会直接从Storyboard中加载控件的大小

    1.3K30

    .net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式的图像创建graphics对象 问题的解决方案。

    在.net下,如果你加载了一副8位的灰度图像,然后想向其中绘制一些线条、或者填充一些矩形、椭圆等,都需要通过Grahpics.FromImage创建Grahphics对象,而此时会出现:无法从带有索引像素格式的图像创建...PixelFormat4bppIndexed PixelFormat8bppIndexed PixelFormat16bppGrayScale PixelFormat16bppARGB1555   因此,.net是判断当图像为索引模式时,...有没有办法呢,其实也是有的,熟悉GDI+平板化API的人还知道有GdipCreateFromHDC函数,该函数可以从HDC中创建Graphics。...因此我的想法就是利用GDI的方式创建位图对象吗,然后从GDI的HDC中创建对应的Graphics。经过实践,这种方法是可以行的。   ...,然后从HDC中创建Graphics,从而可以顺利的调用Graphics的任何绘制函数了。

    5.6K80

    Swift 项目 - Xib | StoryBoard 多人协作技巧

    (绝大多数情况下,一个Storyboard上只应该有一个VC) 页面间的Segue连线应该使用Stroyboard Reference Scene,UITabBarController的子页因为复杂度应该当成主...这个方法找不到对应的属性时,就会抛出异常, 这里就是指找不到featuresController属性,通过全局搜索可以发现,代码中改了名字, 解决的方法同样是删掉对应的连线或者修改变量名时使用重构 由此可见...而且重构代码时利用Xcode重构功能的话,连问题都不会出现 StoryBoard 和 Xib 降低执行效率?...从Storyboard创建竟然比纯代码更快?...这个结果是如何出现的,不妨大胆猜测一下,可能是由于苹果在对象多次创建的情况下,Storyboard可能存在缓存复刻机制,来提升效率,而纯代码并没有这样的优化。

    2.1K20

    UITabbarController 偶现启动crash问题分析

    该问题在灰度有出现过,一位同事在排查过程中,发现另外一个类似问题是在UITabBarController的 _viewControllerForTabBarItem:方法出现异常,这个问题量级并不大,场景类似但是没有特别信息帮助定位...多维分析 由于crash出现在系统的UITabBarController类,无法调试获取更多信息,逆向排查周期太长。这里可以通过Slardar的信息,结合日志和业务场景逐步缩小排查范围。...的限制,从逻辑上分析是有可能出现堆栈所描述的场景。...由于我们使用了某个tabbarVC的组件,组件并不支持动态新增底tab,这里采用的是重新创建tabbarVC的方式。...这里写了一个复用的模拟代码: - (void)testAnotherTabbarVC { UITabBarController *anotherTabbarVC = [UITabBarController

    86440

    创建新Docker容器时出现“The container name “xxx“ is already in use by container xxxxxxxxxxx...”问题的解决办法

    创建新Docker容器时出现“The container name “/xxx” is already in use by container xxxxxxxxxxx…”问题的解决办法 详细错误提示:...tomcat 8.5.35 78b258e36eed 2 weeks ago 463 MB docker.io/tomcat latest 6759d91a032b 3 weeks ago 463 MB 创建新的容器...上面创建新容器出现了错误,提示:容器名被占用,须移除或重命名后才能使用这个容器名。...e3274a72e8d6 e3274a72e8d6 再看,容器已经移除: docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 然后再创建新容器...tomcat8080 -d -p 8080:8080 tomcat af52e9ac72c0393b5468cccf235ad70a7bf6a6b4ed30122b345b3758875d8911 新容器创建成功

    3.2K10

    iOS基础问答面试题连载(二)-附答案

    6.手动创建窗口的步骤? 7.makeKeyAndVisible做了哪些事情? 8.如何从从StoryBoard加载控制器? 9.initWithNibName的加载过程?...如果不是从StoryBoard当中加载的, 那么它还会判断是不是从Xib当中创建的控制器.如果是,那么它就会从xib加载控制器的View....如果也不是从Xib加载的控制器.那么它就会创建一个空的UIView.设为当前控制器的View. 注意点: 一旦重写了loadView,表示需要自己创建控制器的View....当调用pop方法时, 会把要pop的控制器从栈里移除,把之前导航控制器中栈顶控制器View给移除,把当前栈顶控制器添加上去. 16.如何设置导航条的内容?...如果是从网络加载数据,一定要放到子线程(异步加载)当中做. 加载完毕的数据一定做本地缓存. cell当中不要动态的添加子控件.一般都在创建时,就把要出现的Cell给添加进去,暂时不要显示的,可隐藏.

    1.4K90

    关于IB_DESIGNABLE IBInspectable的那些需要注意的事

    现在在Xode 7中,我们默认创建一个View,是不给我们默认生成一个XIB文件,ViewController会有下面那个选项,可以选择勾上。 ?...在我们创建完这个类的时候,我们还要再创建一个Xib和这个类进行关联。 再对比一下我们创建TableviewCell的过程 ?...我们这个自定义View肯定是放在了一个ViewController上面,代码创建出来或者直接拖拽到Xib / Storyboard 上。...这里不会出现任何问题。第二种情况就是我们还想用一个Xib来显示View,这种情况就是Xib/StoryBoard里面再次加载Xib的情况了。...他们的加载方式也不同,initWithNibName方法:是延迟加载,这个View上的控件是 nil 的,只有到需要显示时,才会不是 nil。

    1.6K30

    程序启动的完整过程

    // 2.设置窗口的根控制器 // 通过xib去加载控制器 // .首先创建一个Xib文件 // .Xib文件需要拖一个View描述控制器的View...文件的顺序 若加载xib文件传入name参数,则按参数描述的加载 若未传入参数 先加载与控制器名字的View.xib 若控制器命名为YLViewController,则首先加载YLView.xib...创建控制器View的顺序 优先layoutView代码创建 storyboard创建 xib创建 ?...window) viewDidAppear(view显示完毕,已经显示到窗口) viewWillDisappear(view即将从window上移除,即将看不到) viewDidDisappear(view从window...上完全移除) 当有内存警告时 didReceiveMemoryWarning(当收到内存警告) viewWillUnload(view即将销毁的时候) 销毁view,首先不在视野中得view viewDidUnload

    1.5K150
    领券