runtime查找 UIAlertAction 的key 及 UIActionSheet 设置字体颜色
修改不了颜色了 结果发现kvo 的key 不对 哎 直接上代码 设置正确的属性找到对应的key 还以为iOS 11改变了方法
unsigned int count;
Ivar *ivars = class_copyIvarList([UIAlertAction class], &count);
for (int i = 0; i < count; i++) {
Ivar ivar = ivars[i];
const char * cName = ivar_getName(ivar);
NSString *ocName = [NSString stringWithUTF8String:cName];
NSLog(@"%@",ocName);
}
free(ivars);
function:-[ReplayTextView takePhotoClick] line:192 content:_title
function:-[ReplayTextView takePhotoClick] line:192 content:_titleTextAlignment
function:-[ReplayTextView takePhotoClick] line:192 content:_enabled
function:-[ReplayTextView takePhotoClick] line:192 content:_checked
function:-[ReplayTextView takePhotoClick] line:192 content:_isPreferred
function:-[ReplayTextView takePhotoClick] line:192 content:_imageTintColor
function:-[ReplayTextView takePhotoClick] line:192 content:_titleTextColor
function:-[ReplayTextView takePhotoClick] line:192 content:_style
function:-[ReplayTextView takePhotoClick] line:192 content:_handler
function:-[ReplayTextView takePhotoClick] line:192 content:_simpleHandler
function:-[ReplayTextView takePhotoClick] line:192 content:_image
function:-[ReplayTextView takePhotoClick] line:192 content:_shouldDismissHandler
function:-[ReplayTextView takePhotoClick] line:192 content:__descriptiveText
function:-[ReplayTextView takePhotoClick] line:192 content:_contentViewController
function:-[ReplayTextView takePhotoClick] line:192 content:_keyCommandInput
function:-[ReplayTextView takePhotoClick] line:192 content:_keyCommandModifierFlags
function:-[ReplayTextView takePhotoClick] line:192 content:__representer
function:-[ReplayTextView takePhotoClick] line:192 content:__interfaceActionRepresentation
function:-[ReplayTextView takePhotoClick] line:192 content:__alertController
UIActionSheet 设置字体颜色 因为runtime没找到相应的key 直接去设置 但是通过 _alertController 还是能再次设置 喜迎十九大,人才辈出
- (void)takePhotoClick{
NSLog(@"z选择照片");
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:STR(@"cancel") destructiveButtonTitle:nil otherButtonTitles:STR(@"checeImgAlbum"),@"Camera ", nil];
// [sheet setValue:[UIColor colorWithHexCode:@"FD6501"] forKey:@"_titleTextColor"];
[sheet showInView:self.view];
unsigned int count;
Ivar *ivars = class_copyIvarList([UIActionSheet class], &count);
for (int i = 0; i < count; i++) {
Ivar ivar = ivars[i];
const char * cName = ivar_getName(ivar);
NSString *ocName = [NSString stringWithUTF8String:cName];
NSLog(@"%@",ocName);
}
free(ivars);
// [sheet setTintColor:[UIColor orangeColor]];
}
-(void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
SEL selector = NSSelectorFromString(@"_alertController");
if ([actionSheet respondsToSelector:selector])//ios8
{
UIAlertController *alertController = [actionSheet valueForKey:@"_alertController"];
if ([alertController isKindOfClass:[UIAlertController class]])
{
alertController.view.tintColor = [UIColor colorWithHexCode:@"FD6501"];
}
}
else//ios7
{
for( UIView * subView in actionSheet.subviews )
{
if( [subView isKindOfClass:[UIButton class]] )
{
UIButton * btn = (UIButton*)subView;
[btn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
}
}
}
}
runtime查找 UIAlertAction 的key 及 UIActionSheet 设置字体颜色的更多相关文章
- Latex中如何设置字体颜色(3种方式)
Latex中如何设置字体颜色(三种方式) 1.直接使用定义好的颜色 \usepackage{color} \textcolor{red/blue/green/black/white/cyan/ma ...
- 如何在HTML中设置字体颜色,你知道这几种方式吗?
color设置字体颜色 在color设置字体颜色之前,我们首先了解color在CSS中有几种取值方式,一共有4种方式,若有不全还请在评论区告知谢谢,4种方式如下: 十六进制.十进制. 英文单词.十六进 ...
- python设置图片背景和设置字体颜色大小
# -*- coding: utf-8 -*- """ Created on Wed Dec 11 22:37:30 2019 @author: Dell "& ...
- 关于UIAlertAction如何修改sheet上的字体颜色
相信很多程序员都会遇到需求是这样的: 但是你发现无论怎么设置cancel和Destructive都无法让红色字体移动到下面取消按钮上: 其实之前一直用错,用了ios9之前的UIActionSheet这 ...
- C# 控制台程序(命令行程序)设置字体颜色,窗口宽高,光标行数
控制台程序(命令行程序)设置窗口宽度高度,如下代码: Console.WriteLine(Console.WindowHeight); Console.WriteLine(Console.Buffer ...
- C# 控制台程序设置字体颜色
这几天做了个程序,程序本身很简单.大体功能是输入查询条件,从数据库里取出结果计算并显示.但是用户的要求是使用控制台(console)来实现功能.由于功能简单,程序很快就做完了,在面向用户演示程序时,突 ...
- android 设置字体颜色、EditText自己主动输入转换成大写字母的多种方式
在TextView上面设置某一个字的字体颜色为指定颜色时,能够通过java类SpannableString类和Html语言来实现. (一)SpannableString类方式 private void ...
- wpf设置字体颜色渐变和字体阴影
<StackPanel Orientation="Horizontal" Grid.Column="1" HorizontalAlignment=&quo ...
- c++控制台 设置字体颜色
一种方法是直接在程序上方栏杆点右键,然后属性处设置 优点是设置后一劳永逸,不需要像后面方法那样要自己把设置写入程序代码内 缺点是,一旦设置了就不能再改变了,程序从头到尾都是那种设置. 第二种方法是使用 ...
随机推荐
- 通过Excel生成批量SQL语句
项目中有时会遇到这样的要求:用户给发过来一些数据,要我们直接给存放到数据库里面,有的是Insert,有的是Update等等,少量的数据我们可以采取最原始的办法,也就是在SQL里面用Insert int ...
- MR案例:倒排索引 && MultipleInputs
本案例采用 MultipleInputs类 实现多路径输入的倒排索引.解读:MR多路径输入 package test0820; import java.io.IOException; import j ...
- [BZOJ4552]排序
Description 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题 ,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对这 ...
- 连续取模-function
2017-09-22 21:56:08 The shorter, the simpler. With this problem, you should be convinced of this tru ...
- centos vsftp 500 OOPS: cannot change directory:/home/ftp
系统是CentOS,是RH派系的.我把vsftpd安装配置好了,以为大功告成,但客户端访问提示如下错误:500 OOPS: cannot change directory:/home/ftp原因是他的 ...
- POJ 1985 Cow Marathon(树的直径模板)
http://poj.org/problem?id=1985 题意:给出树,求最远距离. 题意: 树的直径. 树的直径是指树的最长简单路. 求法: 两遍BFS :先任选一个起点BFS找到最长路的终点, ...
- 在.Net中进行SQL Server数据库备份与还原操作实用类
#region 类说明 //----------------------------------------------------------------------------- // // 项目 ...
- linux基础之Vim
- Promise相关网址
1.https://github.com/fsjohnhuang/iPromise 2.https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/ ...
- 在网页链接中打开qq或者微信
打开微信: 先说第一种,大家知道,在自己的微信资料里有个二维码,别人扫描后可以查看你的资料添加你,把二维码扫描后,得到的地址是:http://weixin.qq.com/r/ykzexmzEPzFAr ...