`

KVC的妙用之UIAlertController的UIAlertAction外观改变

    博客分类:
  • iOS
 
阅读更多

KVC的妙用之UIAlertController的UIAlertAction外观改变

2015-08-20 YuLongLi 大话swift

最近赶项目,也遇到了很多,无论是技术还是与同事的交往,感触颇深:1.不要理想的认为你方便了对方,对方就会给你方便;2.程序猿要注重沟通能力;3.学会制作开发计划,复杂的事情要分组来做;4。要学会整理项目

好了,还是切入今天的主题:大家对于KVC和KVO都是很熟悉,但是真正用的时候却不知道从何入手:测试提出个问题:我想把这个文字靠左(如下图)


请问大家如何做:很多人的第一感觉就是去API里面看,可是一看傻眼了,没有属性啊,瞬间崩溃要死的感觉。

聪明的人会根据今天的标题答出:使用KVC。可是到底怎么用,没有暴漏熟悉我怎么根据KVC来做呢?万事不怕有心人,咱们照样有办法,会打断点不,打个断点不就出来了。

没错你没有看错,咱们的首页图片就是断点出来的,所谓八仙过海,咱们就是这样搞到的。

 

alertView = UIAlertController(title: "controller", message: "测试小例子", preferredStyle: UIAlertControllerStyle.ActionSheet)

var actionTitles = ["1","2"]

for actionTitle in actionTitles {

var action = UIAlertAction(title: actionTitle, style: UIAlertActionStyle.Default, handler: { (action:UIAlertAction!) -> Voidin

 

})

self.alertView!.addAction(action)

}

presentViewController(self.alertView!, animated: true) { () -> Voidin

 

}

下面咱们先让它的文字靠左:

看一下文字对齐的方式:

enum NSTextAlignment : Int {

 

case Left // Visually left aligned

 

case Center // Visually centered

case Right // Visually right aligned

/* !TARGET_OS_IPHONE */

// Visually right aligned

// Visually centered

 

case Justified // Fully-justified. The last line in a paragraph is natural-aligned.

case Natural // Indicates the default alignment for script

}

那么咱么需要Left

action.setValue(NSNumber(integer:NSTextAlignment.Left.rawValue), forKeyPath: "titleTextAlignment")

下面看一下,奇迹出现了:


咱们用同样的方法是文字变为其他颜色

action.setValue(UIColor.greenColor(), forKeyPath: "titleTextColor")

 

我们来看一下整体效果

 

分享到:
评论

相关推荐

    iOS自定义UIAlertController

    通过导入这个库,开发者可以更方便地在项目中使用自定义样式的UIAlertController。 总的来说,自定义UIAlertController不仅提升了用户体验,也使应用的视觉风格更加统一。开发者可以根据具体需求,灵活调整Title、...

    KVO-KVC-demo

    然而,需要注意的是,不恰当的使用KVC和KVO可能会引入内存泄漏和性能问题,因此在开发时应谨慎使用,并确保在不再需要时及时移除观察者。 这个“KVC-KVO-Demo”项目是一个很好的学习资源,可以帮助开发者深入理解这...

    iOS KVC设计模式

    Key-Value Coding(KVC)是Objective-C语言中的一个核心特性,它允许程序以一种间接的方式访问对象的属性,无需使用点语法或 setter/getter 方法。KVC 提供了一种灵活的数据绑定机制,使得开发者能够以更抽象的方式...

    alertController

    1. 创建`UIAlertController`:使用`UIAlertController风格`(`UIAlertControllerStyle`)枚举来定义其外观,如警告(`.alert`)或动作表单(`.actionSheet`)。创建示例: ```swift let alertController = ...

    KVC的原理和使用

    KVC提供了一种间接访问对象属性的方式,无需使用点语法或setter/getter方法。在本文中,我们将深入探讨KVC的原理、实现方式、异常处理以及使用时需要注意的事项。** ### KVC原理 KVC的基础是通过键(key)来查找和...

    iOS KVC实现原理

    - **自动化测试**:在单元测试中,可以使用KVC快速检查对象的属性值。 ### 4. KVC与KVO(Key-Value Observing) KVC虽然提供了属性访问的灵活性,但并不包含观察和通知机制。KVO(Key-Value Observing)是基于KVC...

    swift-KVC的底层实现

    KVC在Objective-C中广泛使用,而在Swift中,虽然不如Objective-C那么常见,但仍然有其应用场景,比如Core Data框架就依赖于KVC。本文将深入探讨Swift KVC的底层实现,特别是涉及的`isa-swizzling`技术。 ### 1. KVC...

    KVC_KVOTest Demo代码

    **KVC (Key-Value Coding)** 是Objective-C中的一种机制,允许间接访问对象的属性,无需使用点语法或 setter/getter 方法。它主要用于集合操作、序列化和与数据绑定框架的交互。KVC的主要优势在于可以动态地操作对象...

    KVC在定义Model类中的妙用

    ### KVC在定义Model类中的妙用 #### 一、引言 在软件开发中,尤其是在iOS应用开发中,模型视图控制器(Model-View-Controller,简称MVC)架构是一种常用的模式。它有助于分离应用的逻辑层、数据层以及表示层。其中...

    IOS KVC的一些简单用法

    本文将详细介绍如何使用KVC来获取和设置对象的属性。 ## 1. KVC基础概念 KVC的核心思想是将属性名转换为字符串键,并通过这个键来访问对象的属性。例如,对于一个名为`Person`的类,它有一个`name`属性,我们可以...

    IOS KVC和KVO

    KVC是一种非直接的属性访问方式,允许我们通过字符串键来访问和修改对象的属性,而无需知道属性的名称或使用点语法。KVC的核心是`valueForKey:`和`setValue:forKey:`方法。例如: ```objc Person *person = [...

    KVC && Runtime

    通过KVC,我们可以用字符串来表示属性名,并动态地设置或获取值。例如,如果我们有一个名为`Person`的类,包含`name`属性,我们可以使用以下方式获取或设置其值: ```objc NSString *key = @"name"; Person *person...

    KVC、kVO原理详解

    当需要通过多层嵌套的对象来获取或设置值时,则可以使用 key path,即使用 `valueForKeyPath:` 和 `setValue:forKeyPath:` 方法。例如,`person.address.street` 表示访问 `person` 对象中的 `address` 属性的 `...

    KVC技术指南 ---ios官方

    虽然现在的用途已经超出了最初的设想,但KVC仍然是连接Objective-C和脚本语言的重要桥梁之一。 #### 五、使用KVC简化代码 传统的属性访问方式通常涉及到直接调用getter和setter方法。然而,在某些情况下,比如处理...

    iOS KVC实例

    ### KVC使用方法 #### 访问属性 - **`valueForKey:`**:此方法用于获取对象的属性值。例如,如果你有一个User对象,你可以用`[user valueForKey:@"name"]`来获取名字属性的值。 - **`setValue:forKey:`**:这个...

    KVC键值编码

    KVC在Apple的Cocoa和Cocoa Touch框架中广泛使用,简化了数据绑定、集合操作以及与各种数据源(如数据库和XML)的交互。 **1. KVC的基本使用** KVC提供了一种间接访问对象属性的方式,它通过`valueForKey:`和`...

    KVC KVO的使用方法

    KVC(Key-Value Coding)和KVO(Key-Value Observing)是Objective-C中用于间接访问对象属性的两种重要技术。它们在iOS和Mac OS X开发中广泛应用于数据绑定和动态属性观察。 KVC是一个非正式的协议,名为...

    swift-KVC与KVO使用姿势和原理解析

    Swift中的Key-Value Coding(KVC)和Key-Value Observing(KVO)是两种强大的数据绑定技术,它们允许程序员间接访问对象的属性并监听这些属性的变化。在本文中,我们将深入探讨这两种技术的使用方法、工作原理以及...

    kvo-kvc介绍

    在实际开发中,KVO和KVC通常结合使用,例如在MVVM架构中,模型(Model)的属性变化通过KVO传递给视图模型(ViewModel),然后ViewModel再通过KVC更新视图(View)。这种机制使得数据绑定变得更加简单,降低了业务...

    IOS中KVC和KVO用法demo

    值得注意的是,使用KVC操作对象属性时,需要确保涉及的对象已经被实例化,否则可能会导致错误。 KVC还支持批量赋值,通过`setValuesForKeysWithDictionary:`方法,可以一次性为对象的所有属性设置值。例如,从字典...

Global site tag (gtag.js) - Google Analytics