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++控制台 设置字体颜色
一种方法是直接在程序上方栏杆点右键,然后属性处设置 优点是设置后一劳永逸,不需要像后面方法那样要自己把设置写入程序代码内 缺点是,一旦设置了就不能再改变了,程序从头到尾都是那种设置. 第二种方法是使用 ...
随机推荐
- Python Matplotlib简易教程【转】
本文转载自:https://blog.csdn.net/Notzuonotdied/article/details/77876080 详情请见:Matplotlib python 数据可视化神器 简单 ...
- Spring Boot企业微信点餐系统
第1章 课程介绍 包括项演示.课程概述.课程安排.学习前提等的介绍, 让同学们了解这课程 1-1 课程介绍 第2章 项目设计 包括需求分析,项?目设计,项?目架构,数据库设计等等. 2-1 项目设计 ...
- [ACM]51nod 贪心专题
目录 A 低买高卖 C 接水问题 D做任务一 E做任务三 51nod一个贪心专题,大多数都是见过的套路,做题找找感觉,有些题解思路懒得写了,直接贴毕姥爷的直播题解了 A 低买高卖 考虑股票市场,一共有 ...
- codeforces 848c - two TVs
2017-08-22 15:42:44 writer:pprp 参考:http://blog.csdn.net/qq_37497322/article/details/77463376#comment ...
- PAT1071. Speech Patterns (25)
题目要求的Word定义 Here a "word" is defined as a continuous sequence of alphanumerical characters ...
- Zookeeper java api
Zookeeper java api 主要有以下几个: 方法名称 描述 String create(final String path, byte data[], List acl, CreateM ...
- WPF圆角透明无边框窗体
<Window x:Class="ImportData.MainWindow" xmlns="http://schemas.microsoft.com/winfx/ ...
- consul 小結
Consul Config 使用Git做版本控制的实现 https://segmentfault.com/a/1190000013807641 服务发现 - consul 的介绍.部署和使用 http ...
- PHP 7.3.0.beta3 发布,下个版本将进入 RC 阶段
PHP 7.3.0 第三个测试版 beta3 已发布,源码下载地址 >>> https://downloads.php.net/~cmb/ 更新内容如下: - Core: . Fix ...
- Android和iOS中Cocos2dx的横屏竖屏设置
一.横屏.竖屏设置 1.android AndroidManifest.xml文件中, screenOrientation="landscape" 为横屏, screenOrien ...