当前位置:  编程技术>移动开发
本页文章导读:
    ▪自适应阔高UILable        自适应宽高UILable有时一个UILable的text内容是变化的,而且差异有很大, 需求上要求UILabel的大小高宽能够自适应text的内容。代码例子: myLable=[[UILabel alloc] initWithFrame:CGRectMake(0, 23, 175, 33)]; [my.........
    ▪ 第五章类的扩展——类目和协议课件和代码上载        第五章类的扩展——类目和协议课件和代码下载......
    ▪ 微信的将来       微信的未来 微信是腾讯推出的一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字,可以单聊及群聊,还能根据地理位置找到附近的人。   根据上一篇的公式,笔者.........

[1]自适应阔高UILable
    来源: 互联网  发布时间: 2014-02-18
自适应宽高UILable
有时一个UILable的text内容是变化的,而且差异有很大,
需求上要求UILabel的大小高宽能够自适应text的内容。代码例子:

myLable=[[UILabel alloc] initWithFrame:CGRectMake(0, 23, 175, 33)]; 
[myLable setFont:[UIFont fontWithName:@"Helvetica" size:10.0]]; 
[myLable setNumberOfLines:0]; 
[myLable setBackgroundColor:[UIColor clearColor]]; 
[myAdView addSubview:myLable];
 
UIFont *font = [UIFont fontWithName:@"Helvetica" size:10.0]; 
CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(175.0f, 2000.0f) 
                    lineBreakMode:UILineBreakModeWordWrap]; 
CGRect rect=myLable.frame; 
rect.size=size; 
[myLable setFrame:rect]; 
[myLable setText:text];

核心的是
CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(175.0f, 2000.0f) 
                    lineBreakMode:UILineBreakModeWordWrap];
来预算text显示时宽高。
其中font是显示的字体,constrainedToSize是最大可接受的字符串宽高(例子中是宽175,高2000)
lineBreakMode换行类型(UILineBreakModeWordWrap指的单词边界换行)

sizeWithFont:constrainedToSize:lineBreakMode:

Returns the size of the string if it were rendered with the specified constraints.

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
Parameters font

The font to use for computing the string size.

size

The maximum acceptable size for the string. This value is used to calculate where line breaks and wrapping would occur.

lineBreakMode

The line break options for computing the size of the string. For a list of possible values, see NSLineBreakMode.

Return Value

The width and height of the resulting string’s bounding box. These values may be rounded up to the nearest whole number.

Discussion

You can use this method to obtain the layout metrics you need to draw a string in your user interface. This method does not actually draw the string or alter the receiver’s text in any way.

This method computes the metrics needed to draw the specified string. This method lays out the receiver’s text and attempts to make it fit the specified size using the specified font and line break options. During layout, the method may break the text onto multiple lines to make it fit better. If the receiver’s text does not completely fit in the specified size, it lays out as much of the text as possible and truncates it (for layout purposes only) according to the specified line break mode. It then returns the size of the resulting truncated string. If the height specified in the size parameter is less than a single line of text, this method may return a height value that is bigger than the one specified.

Availability
  • Available in iOS 2.0 and later.
Declared In UIStringDrawing.h

    
[2] 第五章类的扩展——类目和协议课件和代码上载
    来源: 互联网  发布时间: 2014-02-18
第五章类的扩展——类目和协议课件和代码下载

类的扩展——类目和协议课件和代码下载:


【无限互联】iOS开发视频教程—第五章类目和协议课件下载地址  http://pan.baidu.com/share/link?shareid=74994&uk=1711799154


【无限互联】iOS开发视频教程—第五章类目和协议源代码下载地址:  http://pan.baidu.com/share/link?shareid=74997&uk=1711799154




    
[3] 微信的将来
    来源: 互联网  发布时间: 2014-02-18
微信的未来

微信是腾讯推出的一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字,可以单聊及群聊,还能根据地理位置找到附近的人。

  根据上一篇的公式,笔者现对微信的特征总结如下:

  发布我们可以看到,网民可以通过微信在手机上发布各种信息内容,文字、声音、照片、视频等,通过微信,现实生活可以快捷的联入互联网offline 2 online,同时微信们的一对一沟通方式,填补微博一对多传播的沟通空白。

  信息在一对一的沟通模式下,信息的多义性已经被降到最低,相互间的沟通消除了信息的歧义,同一信息不会有多截然不同的解读。但在信息多样性方面,无数个用户,你跟谁建立微信沟通关系,则有无数的可能,你可以根据好友名单,根据通讯录名单,或者根据二维码寻找陌生人,根据地址寻找陌生人,或者共同的事件来寻找志同道合的陌生人等等。作一总结的话,这些建立联系的方式都是对信息多义的运用,@曹化藤,一个很普通的用户名,当这用户信息出现在不同的场合,就具备了不同的涵义,出现在某人的好友名单里,可能就是聊天对象,出现在商场里,可能是购物者,出现在行业大会上,可能就是同行。我们可以根据不同的情境对同一信息进行不同的解读,也就是说我们可以设置用户的需求情境,集合相适宜的信息。微信则具有初步利用信息多义性的能力。

  渠道微信沟通方式是一对一,引入公共账号后,就具备一对多的广播能力。一对多的广播能力有2种情形,一对多和许多个一对一。一对多,微信就具备了广播式传播的特征,单向传播,博主占主导地位,受众被动接收,博主可以运用数据分析技术,实现精准营销。许多个一对一,博主可以与受众一一进行深度交流,有人就此说微信具备CRM的价值。微信的信息传播渠道只有这两种,就此可以讨论微信作为渠道平台的前景。

  接收微信作为信息接收端,可以让互联网走到线下,作为online 2 offline的出口,这与发布阶段的off line 2 online是不同的,可以自己思考。

  对微信的了解如上,接着讨论微信发展的可能方向及空间。

  发布平台微信作为客户端,有没有可能作为 offline 2 online的软件入口?微信的基础是一对一的沟通功能,相对于微博的一对多沟通功能。一对一重要特点是私密性,微博上能否实现一对一的功能,显然是可以的,现有的私信是一种,加密 @曹化藤也是一种可能,也就是说,在技术上微博除了一对多以外还可以一对一。在内容发布上,微博同样可以发布音频、视频、影像等多媒体信息,存在的疑问在于微博如何将这些功能予以组合,实现产品化。在发布功能上,微博客户端是微信的强大对手,除此之外,微信具有一对多的传播功能,而微博一对多广播功能外,还有关系链传播,关系链传播是广播式传播基础上发展而来,是其的升级进化形态,传播效率上,两者相差不是一个等级,而且传播效率又是一个发布平台的核心竞争力之一。微信有的,微博都能具备,微博有的,微信无法提供。微信的基因决定了其无法与微博竞争,如果想占据这个O2O入口,理论上没什么戏。

  信息平台微信能否依赖自己的沟通工具属性获得机会?前面我们说过,一对一的沟通模式下也要解决信息多样化的问题,解决2亿多用户间如何建立联系的问题,也说明了微信初步具备利用信息多义来解决这个问题的能力,利用LBS,是微信的重要一个手段。微信可以通过用户的需求情境来集合信息,给予信息新的解读。对于用户来说,需求某个地点的餐饮信息,微信就提供附近的餐饮信息优惠券等,帮助陌生人间建立联系。另一种方式是,对于餐馆、商场、影院等来说,附近的用户都是可能的消费者,不同的行业,同样的用户信息就有各自的解读,就有各自的商业价值。

  地点是用户需求情境的重要组成部分,也就成了信息多义组织的一个重要载体,LBS商业价值的源头在此。微信可以应用LBS来组织信息,那么微信的竞争对手当然也同样可以利用LBS,现在微信先行一步,将LBS与微信结合在一起,用微信扩展LBS的应用,用LBS的属性增强微信的工具属性,两者相互促进,微信能否就此构建竞争壁垒,对竞争对手进行有效的阻击?同时用户需求情境还包括很多方面,时间,名人资源,特定行为等,比如明星的粉丝群体,有共同的需求,可以就此提供相应的信息,有购房行为的,会有一些共同的信息需求等等。所以信息的多义不只是LBS,微信除了融合LBS外,还可以根据用户的需求情境提供更个性化的应用,由此组建一个纵深的综合型竞争壁垒。

  微信在前,微博在后,两者不同的传播渠道,决定了他们解决信息多样性和多义的效率的本质差别,移动互联网为产品提供广阔的舞台,但没有有效的解决信息的多样和多义的手段,只能望洋兴叹。当微博或者基于微博的客户端介入移动互联网时,关系链传播渠道在信息传播的过程中解决了信息的多样性和多义,当他们比微信更好的根据用户需求情境来集合信息,更能个性化和效率的满足用户的信息需求,微信的竞争力在哪呢,辛苦搭建的竞争壁垒能起多大的作用,2亿用户会是安全的护城河吗?

  渠道平台微信一对多的广播功能让很多人兴奋,精准营销的到来,由于其是广播式传播,博主拥有足够的主动权,可以通过数据分析对发布的内容,范围,手段等进行控制,达到理论上的精准营销,但广播式传播是单向传播,用户是被动接收信息,所以无论数据分析做的多么完美,其信息传播都将是对用户的骚扰,是对用户主动权的消弭,这是对社会化媒体阶段的倒退,同时数据分析只能部分解决信息多样化和多义,以前的博客讨论过,这里不赘述。当然微信的一对一沟通是双向的,对广播式单向传播会有一定的消解,但这无法改变本身性质。在社会化媒体关系链传播的大背景下,广播式传播前景有限,微信作为渠道平台的可能性几乎为零。

  信息处理平台最后一个问题,微信能否成为online 2 offline的软件出口?我想这取决于微信在对LBS等信息多义运用上的竞争优势,微信与更多的行业结合,跟更多的需求情境结合,有足够多的信息供用户选择与运用,作为出口之一应该还是有可能的。或者微信具有强大的信息处理功能,能够对接收到的信息进行高效的整理、加工、保存、处理等功能,将微信作为用户的信息中转站,成为一个不可或缺的信息处理工具。但是微博…… 微博是微信的梦魇

  微信要获得发展空间,就要解决将正确的信息传播到需要的人手上,那就面临如何在海量的信息中筛选出正确的信息,也就是如何解决信息的多样性,同时还要筛选出需要的人,将信息与人相匹配,解决信息的多义,但不幸的是,看不出微信解决多样性和多义的效率,一对一,一对多广播都无法有效的解决,而钥匙在关系链传播上,微博与微信基因上的差异,靠后天的运营是无法弥补的,犹如雅虎之于谷歌,微信是个鸡肋产品。

  公式具有理论上的完备性,根据公式来分析微信,同样具有逻辑的完备性,发布平台、信息平台、渠道平台、接收平台囊括了微信发展的各种可能,虽然具体产品的命运掌握在操盘者及竞争者手中,但这一产品型态的发展趋势逃不出上述的分析范畴。

  对微信的理解困难在于其参照物微博的畸形发展,仍在纠结于社交与渠道的关系,参看《问诊微博》。当用微博这个哈哈镜去照微信或其他产品时,是猪八戒照镜子。本文所说的微博,也不是现实中的新浪微博。我们只有老老实实的进行理论推演,不跟着具体产品创新改变分析结果,看清背后的逻辑线索,还原产品的真面目。

  微信作为微博的功能互补,在微博进化速度缓慢时,快速的单点突破,结合移动互联网O2O的大背景,获得自己的空间,打个漂亮的时间差,至于这样的优势能有多大,能保持多久,则有待双方各自的进化发展等待最终的竞争结果。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3