iPhone开发——文字竖排
来源:互联网 发布:社交媒体数据分析招聘 编辑:程序博客网 时间:2024/04/29 17:27
iPhone自带的控件中文字是无法实现竖排的,但开发过程中却会遇到竖排的要求,现在就写一下我在iPhone开发中实现文字竖排的方法,
首先新建一个类继承于UIView命名为:MyCanvas,然后把(void)drawRect:(CGRect)rect方法的注释打开并重写其方法。
- (void)drawRect:(CGRect)rect
{
[[UIColor colorWithRed:101.0/255 green:61.0/255 blue:0 alpha:1.0]set];//设置文字颜色
int iCols = 0;//文字显示的列数
int iRows = 0;//文字显示的行数
int iSpace = 0;//文字的空格数
NSString *sTitle = item.sTitle;
int titleLen = [sTitle Length];
for(int i = 0; i < titleLen; i++)
{
int iPosX = MARGIN_LEFT - iCols * FONT_LINE_HEIGHT
;//iPosX是屏幕上x轴的坐标、FONT_LINE_HEIGHT是行高
int iPosY = MARGIN_TOP + iRows * FONT_LINE_WIDTH + iSpace * FONT_LINE_SPACE;//iPosY是屏幕上y轴的坐标、FONT_LINE_WIDTH是行宽、FONT_LINE_SPACE是空格大小
CGPoint point = CGPointMake(iPosX, iPosY);
NSString *sTemp = [sTitle substringWithRange:NSMakeRange(i, 1)];
if([sTemp isEqualToString:TAG_TAB])//判断是否有空格
{
iSpace ++;
}
else if([sTemp isEqualToString:TAG_NEW_LINE])//判断是否换行
{
iRows = 0;
iCols ++;
}
else{
[sTemp drawAtPoint:point withFont:[UIFont fontWithName:@"AmericanTypewriter-Bold" size:12.0]];//将文字画在画布上指定的位置
iRows ++;
}
}
…
…
}
省略号部分是实现其它文字竖排的代码,与实现Title竖排是一样的,就不一一列举了。
然后在需要实现文字竖排的地方调用MyCanvas类即可,如:
MyCanvas *canvas = [[MyCanvas alloc]initWithFrame:CGRectMake(0, 0, 252, 340) InfoItem:item];
[self.view addSubview:canvas];
[canvas release];
其实如上方法就是定义一个画布,然后把文字一一画在在指定的位置,如此,不管是要求文字竖排还是斜排或是倒排,便都可以实现了
- iPhone开发——文字竖排
- 网页竖排文字的实现——只需要CSS
- 文字竖排
- 竖排文字
- 文字竖排
- 文字竖排
- 文字竖排
- 竖排文字
- CSS实现文字竖排
- C#实现文字竖排
- CSS文字竖排
- CSS 文字竖排
- Android竖排显示文字
- 文字竖排显示
- 文字竖排版
- CSS文字竖排
- html 文字竖排
- 文本框文字竖排
- 非阻塞模式for (;;)//hAcceptSock = accept(hSock
- RFT使用总结
- Window XP驱动开发(九) USB WDM驱动开发实例 bulkusb
- 手机定位 coco2d开发
- 解析PHP中的双冒号
- iPhone开发——文字竖排
- APC的内部实现
- UIAccelerometer--晃动手机播放动画
- LR常见测试情况
- 用cmd命令新建文件夹
- Android OpenGL ES 开发教程 从入门到精通
- 底纹图片流动 算法
- jdk的安装以及环境变量的设置
- 苹果拟推799美元MacBook Air 对抗二代超极本