`
Converse_CUI
  • 浏览: 7265 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

iOS技术博客2-UI与控件基础

阅读更多
    首先说一句和UI无关的内容。在苹果的机制中,有一个沙盒机制。这种方式我很喜欢,它极大程度上的抵制了恶意软件、保证了系统安全,进而提升了用户体验。所谓沙盒机制,就是苹果平台上的应用软件,只能在全部封装在其独立的文件夹中,不可访问系统文件,app之间也不可以互相访问(当然苹果还是开放了少量的接口以实现必要的功能)。相比安卓的完全开源和windows对自己系统文件垃圾的保护,这样的机制是苹果优质用户体验的保障之一。
    另外,再介绍一个小技巧。Xcode6.1已不支持创建空项目了,但是对于初学者来说,还是经常需要创建空项目,在此,教大家怎样在新的Xcode中创建空项目。http://download.csdn.net/detail/u011253060/8041807 点击这个链接下载其中的文件。然后打开文件夹,进入文件夹AddMissingTemplates-master,然后把Empty Application.xctemplate 拷贝到
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application下,重启Xcode,就可以看到空项目了。

    好,现在我们来进入本篇博客的正式内容。一个好的软件离不开优秀的UI。这一次,我们将初次接触iOS下的UI的基本属性及其控件,为以后的学习打下基础。

    1. UIView的常用方法
        addSubview:添加视图
        removeFromSuperview:将视图从父视图移除
        bringSubviewToFront
        sendSubviewToBack
        insertSubview:aIndex
        insertSubview:aboveSubview
        insertSubview:bellowSubview
        注释了的是我们比较常用的方法,其他方法通过名称很好理解其功能。
            UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(320/2-200/2, 100, 200, 100)];
            view1.backgroundColor = [UIColor redColor];
            [self.window addSubview:view1];

            UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(320/2-100/2, 150, 100, 100)];
            view2.backgroundColor = [UIColor yellowColor];
            [self.window addSubview:view2];
            view2.tag = 102;
    
            UIView *view3 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
            view3.backgroundColor = [UIColor blueColor];
            [view2 addSubview:view3 ];

        通过以上代码,我们就创建了三个UIView的对象,注意,UIView会按照添加到窗体上的顺序显示,最后添加的视图对象将在最上方。在添加视图对象时,应注意它的父视图是谁。
    2. UIView的常用属性
        在这里,我们只讲两个常用属性。分别是:.tag和.alpha。
        和.tag对应的方法是viewWithTag:一个整数。.tag主要用于查看、获取制定视图。tag默认值会是0,如果你想使用tag来获取对象,一定要对其进行初始化,否则将会出错。
        alpha是设置透明度的属性。默认值为1,此时视图是不透明的,当你修改它使它小于1时,视图将变得透明;值越小透明度越高。如果你使用过StoryBoard,你肯定会知道alpha,在StoryBoard中设置透明度也是alpha。为什么要单独介绍alpha呢?因为它有一个特性:它会挟持其子视图。当你对一个视图对象修改其alpha使其透明的时候,它上面的子视图也会变为透明。那么怎么使一个视图对象变为透明而又不影响其子视图呢?在初始化对象的.backgroundColor属性时设置对象的透明度,就不会影响其子视图。
    3. 简单的仿射变换
        CGAffineTransformMakeScale             //缩放
        CGAffineTransformMakeRotation        //旋转
        CGAffineTransformMakeTranslation    //平移
        调用这些方法修改.transform属性,来实现动画效果,这是实现动画的方式之一。
    4. UIImageView
        UIImageView - .image
                                  .background
                                  .contentMode - UIViewContentModeScaleToFill
                                                           UIViewContentModeScaleAspectFit
                                                           UIViewContentModeScaleAspectFill

      我们知道,Retina图的正规保存命名方式是为:非Retina图片名称@2x.png。但是在使用Retina图片时,并不需要认为的添加@2x,苹果会自动识别。
    5. .clipToBounds属性
        YES:超出父视图部分将被裁切,不会显示。
        NO  :超出父视图部分仍会显示。
   
  • 大小: 332.9 KB
分享到:
评论

相关推荐

    iOS开发 - 第02篇 - UI进阶 - 15 - 彩票(第二天)

    UIKit提供了一系列的类和协议,用于创建、管理和更新屏幕上的内容,包括视图(UIView)、控制器(UIViewController)和各种UI控件,如按钮(UIButton)、标签(UILabel)和滑块(UISlider)等。 在这个彩票应用中,...

    Learning iOS UI Development

    Yari在名为***的博客上撰写文章,该博客主要关注iOS开发,特别是用户界面(UI)开发。读者可以通过Twitter账号@bitwaker与他联系。 本书旨在教授iOS用户界面开发的知识,涵盖了从基础到高级的UI组件和布局管理,...

    IOS7 UI适配

    ### IOS7 UI适配策略与实践 随着iOS系统的不断更新,开发者们面临着应用程序在新旧系统版本间保持一致用户体验的挑战。iOS7作为苹果操作系统的一个重大转折点,引入了全新的设计语言,对UI元素进行了彻底的重塑,这...

    博客自定义控件18 4控件 源代码

    【博客自定义控件18 4控件 源代码】这个资源主要涉及的是Qt框架下的QML技术,用于创建自定义用户界面控件。Qt是一个强大的跨平台应用程序开发框架,广泛应用于桌面、移动设备及嵌入式系统。QML是Qt的一种声明式语言...

    图文混合控件

    总结来说,图文混合控件是UI设计中的重要组成部分,它涉及多种技术和方法,用于创建具有视觉吸引力且信息丰富的用户界面。开发者需要掌握相关的前端和移动开发技术,以及布局和响应式设计的原则,才能有效地实现这类...

    IOS仿微信界面

    2. **Storyboards与XIBs**:iOS开发者通常使用Storyboard或XIB文件来设计和布局用户界面。通过拖拽和配置控件,可以快速搭建出类似微信的屏幕布局。 3. **Navigation Controller与Tab Bar Controller**:导航控制器...

    类似iphone的 js日期选择控件

    "类似iPhone的JS日期选择控件"是一个专题,旨在为网页应用提供与苹果iPhone设备上日期选择器相似的功能,提升用户体验。这样的控件通常是基于JavaScript实现,允许用户在网页上方便地选择日期,而无需离开当前页面或...

    IOS滚动选项卡

    在iOS开发中,滚动选项卡是一种常见的用户界面设计模式,它允许用户在...在实际开发中,可以参考Apple的官方文档、第三方开源库(如`SWPageView`、`PageMenu`等)以及相关的技术博客,以获取更多的实现技巧和最佳实践。

    IOS中消息传递的8种方式Demo

    这是一种事件驱动的通信方式,常见于UI控件如UIButton。当用户触发事件(如点击按钮)时,会向指定的目标对象发送一个动作消息。 6. **GCD(Grand Central Dispatch)** GCD是Apple的多线程解决方案,它提供了一...

    苹果核-天猫移动博客合集.pdf

    - **虚拟控件设计与实现:**介绍了VirtualView在Android平台下的核心组件——虚拟控件的设计思路与实现过程。 - **文件格式与模板编译:**阐述了VirtualView使用的文件格式及如何将模板编译成可执行代码。 #### ...

    IOS 菜鸟笔记 之 项目 一 ( 源码 )

    2. **UI 设计**:掌握使用 Storyboard 和 Auto Layout 创建用户界面,包括各种视图控制器(UIViewController)、控件(UILabel, UIButton, UIImageView 等)的布局和交互。 3. **Swift/Objective-C 语法**:学习...

    点击text跳出日历控件

    描述中提到的“NULL 博文链接:https://weihong01267.iteye.com/blog/614142”,虽然没有提供具体细节,但我们可以推测这是一个IT专家或开发者分享的关于实现这一功能的技术博客。在该博客中,作者可能详细解释了...

    日历控件

    这篇博客文章“日历控件”可能是关于如何在编程中实现或使用这种控件的一个教程或者技术分享。从标签“源码”和“工具”我们可以推断,该文可能涉及到具体的代码示例和实用的开发资源。 日历控件在各种应用程序中都...

    类似FaceList的控件

    在IT行业中,控件是构建用户界面的基本元素,它们提供了与用户交互的方式。"类似FaceList的控件"指的是一个特定类型的控件,它可能模仿或扩展了FaceList的功能。FaceList通常是指一种用于显示人脸图像集合的控件,...

    自定义控件用法和一些常用页面效果

    实现这些效果可能需要用到各种技术和工具,比如CSS3动画、Android的Transition API、iOS的Core Animation等。开发者需要熟悉相关框架和库,以便灵活地应用到项目中。 通过学习这篇博客,你将能够掌握如何创建自定义...

    仿今日头条横向滚动的分类标签控件完善版

    对于有经验的开发者,此控件的源码也是一个不错的学习材料,可以深入了解iOS UI组件的定制和优化。 总之,“仿今日头条横向滚动的分类标签控件完善版”是一个实用的UI组件,它集成了常见的移动应用设计模式,能够...

    [IOS]Coverflo效果

    在iOS开发中,实现Coverflo效果通常涉及到自定义UI控件和复杂的动画处理。 首先,我们要理解Coverflo效果的核心原理。它基于UIPanGestureRecognizer手势识别,当用户在屏幕上滑动时,应用会检测到这个手势并触发...

    datetime Picker控件

    `datetime Picker` 控件是一种用于用户界面(UI)的组件,它允许用户轻松地选择或输入日期和时间。该控件通常包含一个下拉日历界面以及时间选择功能,使用户能够直观地选择所需的日期和时间。 #### 三、主要功能 1. ...

Global site tag (gtag.js) - Google Analytics