2017-03-24 11:28:03 liyanjun201 阅读数 1986

问题描述

相信大家都会遇到过这种情况:
进入下一页面,并且在下一页面执行某一动作,返回要刷新,没有执行某一动作,返回不刷新。也就是当前页面要实现按照需求刷新页面

实现思路

在当前页面定义个Bool类型属性 isNeedRefresh,在viewWillAppear中进行判断是否需要刷新。在第二页面中重写返回按钮。
通过 self.navigationController.viewControllers来获取上衣页面的ctl

实现代码

当前viewcontroller

@property (nonatomic, assign) BOOL isNeedRefresh;//是否需要刷新
- (void)viewWillAppear:(BOOL)animated{


    [super viewWillAppear:animated];

    if (self.isNeedRefresh) {

        NSLog(@"执行刷新了");

        [self loadData];
    }

}

下一页面

#pragma mark 重写返回按钮
- (void)LeftBtnClicked:(UIButton *)sender{

    [self.view endEditing:YES];
    [NSObject cancelPreviousPerformRequestsWithTarget:self];


    UIViewController *ctl = self.navigationController.viewControllers[self.navigationController.viewControllers.count - 2];

    if ([ctl isKindOfClass:[AddServiceViewController class]]) {

        AddServiceViewController * ctl2 = (AddServiceViewController*)ctl;

        ctl2.isNeedRefresh = YES;

        [self.navigationController popToViewController:ctl2 animated:YES];

    }else{

         [self.navigationController popViewControllerAnimated:YES];
    }

}
2013-12-23 19:03:04 ouyangtianhan 阅读数 7614

http://stackoverflow.com/questions/19837512/rotate-uiimage-and-move/19862637#19862637>


最后终于在API Document里面找到这么一小段话

// animatable. do not use frame if view 
// is transformed since it will not correctly 
// reflect the actual location of the view. use bounds + center instead.

// 动画属性。不要在view变形之后使用frame
// 否则会导致其不能正确的映射出view的真实位置。用bounds + center 代替

2016-06-16 10:11:36 u012320459 阅读数 1470

问题描述:在开发过程中,有多个页面的页面布局,控件相同,只是需要加载不同的内容,比如:同样一个页面,用户点击韩剧按钮,加载韩剧数据;点击综艺按钮,加载综艺数据;点击电影按钮,加载电影数据。这样就不需要创建多个页面了,只需要创建一个页面,每次跳转的时候加载不同的数据就好了。

解决方法:把这个重复页面的加载数据的操作放到viewDidAppear中,根据传回的刷新参数不同加载不同数据,因为viewDidAppear在每次页面加载时候都会调用,而viewDidLoad只在创建时候调用。所以要放在appear中。具体刷新方法:

-(void)viewWillAppear:(BOOL)animated{
//    这种需要每次加载时候刷新显示的方法需要放到willAppear方法中,否则放到了viewDidLoad中的话一旦VC创建好了之后,再次加载就不会调用这些方法了
    [self setData:_soapIndex];
    [self initTableView];
}

这个_soapIndex就是通过block传回的加载枚举类型

typedef NS_ENUM(NSInteger, TypedSoapIndex) {//更多韩剧分类

    DayDay = 0,//日日剧
    JinTu = 1,//金土剧
    JinYao = 2,//金耀剧
    RiYao = 3,//日耀剧
    ShuiMu = 4,//水木剧
    ZhouMo = 5,//周末剧
    YueHuo = 6//月火剧
};

根据不同的参数类型加载不同的数据。

2013-05-26 23:23:37 sifengjin 阅读数 2920

之前看某本iOS应用设计的书时知道了Skala View这么个应用。刚刚心血来潮,下了个全套的试用了一下。功能挺简单的,不过还蛮有意思的


    首先,简单说一下,这是一套同步展示图片的工具。在mac上进行的设计图片可以同步到手机上,立即看到显示效果。(之前也因为电脑屏幕和手机屏幕显示效果的差异跟美工废了不少功夫。)Mac上的应用叫“Skala Preview”,手机客户端有iOS和Android两种,叫做“Skala View”。

另外,还有两大功能亮点:一个是可以同步Photoshop,也就是在利用ps进行设计时,不需要保存图片,打开的最靠前的那个图片的效果可以同步到手机上。二是色盲检测,客户端上有四种主要的色盲检测(红、绿、蓝、单色),也就是可以看到色盲患者看到这幅图片的效果。这个可以帮助设计人员检测色彩的运用是否合理。


1、手机客户端与mac端的连接

只要两台设备处在一个无线环境下,打开两端的app。点击手机端左下角的小电脑图标,会显示环境内可连接的电脑设备,点击之后mac端会提示连接,确认之后连接就建立了。这个时候,拖动任意图片到mac端,手机端都可以很快收到该图片并显示出来。


2、客户端功能

(1)手势放大

    我试了一下,图片不能缩小,最大能放大到32倍

(2)亮度调节

(3)色盲检测

(4)复制、保存到相册、通过邮件发送

(5)从手机相册导入


3、连接PS

(1)在ps的“编辑”菜单下打开“远程连接”,设置一个服务器名和密码,然后“启用远程连接”

(2)在Skala Preview中,先勾选“Transfer”菜单下的“Connect to Photoshop”。

         然后选择“Settings”菜单下的“Photoshop settings”,输入刚才设置的服务器名和密码,底下还有两个选项,是发送格式的问题,我不太了解有什么影响,按照说明图片,选的下面那个“Full Quality Only”。个人觉得选哪个应该没多大影响

        此时,连接就已经建立好了。只要两个客户端都开着,在ps中打开的图片就可以在手机上显示出来。



今天只是简单的用了一下,至于ps的处理过程的同步效果还没有实验。稍稍觉得有点不方便的地方是只能同步一张图片,新的图片会把旧的替换掉。


总的来说,可以省了很多同步的麻烦,是个相当实用的工具

2017-11-03 11:24:06 LDSleidisen 阅读数 224

背景需求:

1、 在界面创建一个button,添加点击响应事件;

2、 在点击响应事件中改变button的标题和背景颜色;

3、 在dian点击时间中处理一些较耗时的操作;

4、 根据操作进行的进度,刷新界面UI;

5、 操作结束后button的标题和颜色恢复正常。


处理方法:

1、 在界面创建一个button,添加点击响应事件;

- (void)buttonOnClick:(UIButton *)button{

}

2、 添加button的逻辑变色;

if([button.titleLabel.text isEqualToString:@"XXX"]){

[button setTitle:@"AAA" forState:UIControlStateNormal];

button.backgroundColor = [UIColor redColor];

}else{

[button setTitle:@"BBB" forState:UIControlStateNormal];

button.backgroundColor = [UIColor grayColor];

}

3、 在dian点击时间中处理一些较耗时的操作;

4、 根据操作进行的进度,刷新界面UI;

/创建GCD

    // 并行队列的创建方法

    dispatch_queue_t queue= dispatch_queue_create("test.queue", DISPATCH_QUEUE_CONCURRENT);

        // 异步执行任务创建方法

    dispatch_async(queue, ^{

//处理耗时操作

//根据操作进行的进度,刷新界面UI

//操作结束后button的标题和颜色恢复正常

    });


没有更多推荐了,返回首页