热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

工作中遇到的问题-2

1、exclusiveTouch,互斥性:一些应用经常会在一个view上放多个按钮,比如登录页面,就会有注册与登录按钮。理论上讲注册和登录按钮是不能同时按下的,但是如果你同时按下这两个

1、exclusiveTouch,互斥性:

一些应用经常会在一个view上放多个按钮,比如登录页面,就会有注册与登录按钮。理论上讲注册和登录按钮是不能同时按下的,但是如果你同时按下这两个按钮,这两个东东都会显示响应高亮状态,其结果就不可预知了。这种情况经常会被测试童鞋当成bug如何让view只响应一个按钮 - 杨叫兽 - 青青子衿 悠悠我心

其实UIView类属性有个exclusiveTouch属性,表示是否该view响应触摸是排他的。默认的设置是NO,即不排他。如果想让按钮排他响应,只需将按钮的exclusiveTouch设置为YES即可。

实际编程中我一般会有两种方法:

1)、在viewDidLoad方法中对self.view中的subview进行遍历,如果是按钮对象就将它的exclusiveTouch属性设为YES。

 
 

  for (UIView *subview in self.view.subviews) {         if ([subview isKindOfClass:[UIButton class]]) {             subview.exclusiveTouch = YES;         }     }

另外说明:手势识别会忽略exclusiveTouch设置。详见苹果官方例子:SimpleGestureRecognizers。
2)、是新建一个button类,然后在类中,设置:exclusiveTouch = YES;

2、view设置背景图片的方法:
colorWithPatternImage将图片img平铺在view上,如果尺寸小就是平铺,如果尺寸大就是填充啦
    self.textView.backgroundColor = [UIColor colorWithPatternImage:img];
3、在web页面即将跳转之前,会调用的方法:用于截取用户点击的页面的url。并可以决定是否跳转以及跳转的页面
像网购类的app,打开网页之后,点击某个商品,接着让页面跳转至app上的详情页,可以通过截取链接的字符串,然后判断是否有商品的关键字,然后再进行如下方法里面
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
//获取url:   
 NSString *str = request.URL.absoluteString;
//判断是否有我们需要的关键字,以及页面跳转的VC是哪个。
    //返回Yes代表可以发起网络请求
    //返回No代表不可以发起网络请求
    //运行JS
//    webView stringByEvaluatingJavascriptFromString:(NSString *)
    return NO;}
4、
列一下官方文档中的注意点:
  • 不要将指针强转成整数
  • 程序各处使用统一的数据类型
  • 对不同类型的整数做运算时一定要注意
  • 需要定长变量时,使用如int32_t, int64_t这种定长类型
  • 使用malloc时,不要写死size
  • 使用能同时适配两个架构的格式化字符串
  • 注意函数和函数指针(类型转换和可变参数)
  • 不要直接访问Objective-C的指针(isa)
  • 使用内建的同步原语(Primitives)
  • 不要硬编码虚存页大小
5、pch文件:
  1. 警告:
  2. clang: error: no such file or directory: '/demo2/控件代碼/13/Recorder/Recorder_Prefix.pch'
  3. clang: error: no input files
  4. Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1
  5. 解決辦法: 在妳的主工程文件 target搜素,pch ,找到Prefix Header    把它後面的值,都刪除,再運行就解決了。




推荐阅读
  • iOS逆向工程(三):利用Cycript调试App
    利用Cycript调试App一、Cycript是什么?Cycript是一种脚本语言,是Ob ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • C#多线程解决界面卡死问题的完美解决方案
    当界面需要在程序运行中不断更新数据时,使用多线程可以解决界面卡死的问题。一个主线程创建界面,使用一个子线程执行程序并更新主界面,可以避免卡死现象。本文分享了一个例子,供大家参考。 ... [详细]
  • Java图形化计算器设计与实现
    本文介绍了使用Java编程语言设计和实现图形化计算器的方法。通过使用swing包和awt包中的组件,作者创建了一个具有按钮监听器和自定义界面尺寸和布局的计算器。文章还分享了在图形化界面设计中的一些心得体会。 ... [详细]
author-avatar
天涯使者2602921991
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有