`
天梯梦
  • 浏览: 13631136 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

iphone简单实例 (字体,弹出窗口) (实例)

 
阅读更多

1. UIFont 可以支持的字体预览

 

为iPhone上到底支持哪些字体而发愁吗?  为光看字体名称而不知道其长得 是啥样子而发愁吗?以下demo可以帮到你.

 

帖子地址 http://www.cocoachina.com/bbs/read.php?tid-19894.html

 

下载见附件:FontTest.zip

 

 

IPhone 所支持的字体:
  "Courier"
  "AppleGothic"
  "Arial"
  "STHeiti TC"
  "Hiragino Kaku Gothic ProN"
  "Courier New"
  "Zapfino"
  "Arial Unicode MS"
  "STHeiti SC"
  "American Typewriter"
  "Helvetica"
  "Marker Felt"
  "Helvetica Neue"
  "DB LCD Temp"
  "Verdana"
  "Times New Roman"
  "Georgia"
  "STHeiti J"
  "Arial Rounded MT Bold"
  "Trebuchet MS"
  "STHeiti K"

或者 对于ios中都包含那些可用字体,可以通过调用[UIFont familyNames]方法,它返回的是一个NSArray,

    NSArray *familyNames = [UIFont familyNames];
    for( NSString *familyName in familyNames ){
        printf( "Family: %s \n", [familyName UTF8String] );
        NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
        for( NSString *fontName in fontNames ){
            printf( "\tFont: %s \n", [fontName UTF8String] );
        }
    } 
 
正式用法:

  UIFont *tFont = [UIFont fontWithName:[[UIFont fontNamesForFamilyName:@"Helvetica"] objectAtIndex:N] size:17];
  [textLabel setFont:tFont];

  每一种FamilyName都是个Array类型的变量,N一般取0基本没有错误,如果N取其他数,且Array里没有那么多,则报错可自己尝试,IPhone字体对国字支持的不够好,基本没有太大变化,一般对英文是嘎嘎好使。

 

 

 

 

2. iPhone 弹出框代码例子

 

这个 iPhone 弹出框代码例子由 CocoaChina 会员 “sunmingze198” 分享,效果类似 iOS 系统自带的 WiFi 选择弹出框。

 

下载见附件:popUpDemo.zip

 

 

UIAlertView 这个元件并不常用,如果将UIAlertView 用作显示普通讯息,这不是一个好的介面设计,因为弹出来的讯息是非常引人注意的,就好像 Javascript 的 alert 一样,弹出来后整个视窗也不能操作,一定要用户按下 "OK" 才能继续操作,我相信各位也不喜欢到经常弹出 alert box 的网站吧,在 iPhone也是同样道理。

那何时才使用 UIAlertView? 应该是有某些讯息无论如何也要用户去知道,不是那些无关紧要的事,有可能是你的应用程式发生一些问题,令操作不能继续的讯息。例如你的应用程式必须依赖网路来拿取资料,但用户的装置根本没有连接网路,这时候你便需要使用UIAlertView 去提示用户去连接网路,不然应用程式不能运作。

首先是最简单,只显示讯息并只有一个 "OK" 按钮的 Message Box:

 

 

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message 1......\nMessage 2......" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
     
[alert show];
[alert release];
 

样子:

 


因为按下 "OK" 按钮后不需要任何动作,所以也不用设置代理 (delegate)。
cancelButtonTitle 是 UIAlertView 预设的按钮,是必须设备的,但按钮显示的文字则可以任意更改。
而 otherButtonTitles 则可以用来增加按钮,每加入一个 NSString 就会多一个按钮。好像以下这样:

 

 

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message 1......\nMessage 2......" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:@"Button 1", @"Button 2", @"Button 3", nil];
 

这样便会增加多三个按钮,加上 Cancel Button 一共有 4 个按钮。

样子: 

 

 


如果想按下按钮后有其他动作,你需要在相对应的 Class 加上 UIAlertViewDelegate 的 protocol。

 

例如我想 UIViewController 当 UIAlertView 的代理:

 

ViewController.h

 

 

#import <UIKit/UIKit.h>
 
@interface ViewController : UIViewController <UIAlertViewDelegate> {
 
}
 
@end
 

在 ViewController.m 加上以下方法:

 

 

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    //Code.....
}
 

而 UIAlertView 的 CancelButton 的 buttonIndex 是 0,其他按钮的 buttonIndex 则顺序增加。

可以这样判断用户究竟按下了那一个按钮:

 

 

- (void)loadView {
 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message 1......\nMessage 2......" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"Button 1", @"Button 2", @"Button 3", nil];
     
    [alert show];
    [alert release];
     
}
 
- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
     
    switch (buttonIndex) {
        case 0:
            NSLog(@"Cancel Button Pressed");
            break;
        case 1:
            NSLog(@"Button 1 Pressed");
            break;
        case 2:
            NSLog(@"Button 2 Pressed");
            break;
        case 3:
            NSLog(@"Button 3 Pressed");
            break;
        default:
            break;
    }
     
}
 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    苹果ios开发100个实例源码.zip

    从下往上弹出的子视图窗口 从下往下拉进行列表内容动态加载 仿Instagram, Path, DailyBooth底部导航风格 仿UIAlertView和UIActionSheet的一个效果 仿苹果音乐播放器的歌曲封面滑动效果 仿谷歌3d地图 侧边伸缩导航栏...

    JAVA上百实例源码以及开源项目

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    JAVA上百实例源码以及开源项目源代码

    Java右键弹出菜单源码 简单 Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟 用JAVA编写的指针式圆形电子钟,效果图如下所示,...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent.ACTION.CALL的使用 5.3 自制发送...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent.ACTION.CALL的使用 5.3 自制发送...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent.ACTION.CALL的使用 5.3 自制发送...

    Google Android SDK开发范例大全的目录

    4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制-p155 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent.ACTION.CALL的使用 5.3 自制...

    Google+Android+SDK开发范例大全

    4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent.ACTION.CALL的使用 5.3 自制...

    Google Android SDK 开发范例大全01

    4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制-p155 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent.ACTION.CALL的使用 5.3 自制...

    Google Android SDK 开发范例大全02

    4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制-p155 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent.ACTION.CALL的使用 5.3 自制...

    Google Android sdk 开发范例大全 部分章节代码

    4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制-p155 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent.ACTION.CALL的使用 5.3 自制...

    Google Android SDK开发范例大全(完整版)

    4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent.ACTION.CALL的使用 5.3 自制发送...

    Google Android SDK开发范例大全(第3版) 1/5

    4.26 离开与关闭程序的弹出窗口 4.27 隐藏式抽屉 4.28 手机桌面上的小玩意 4.29 手机图片搜索管理器 4.30 实时配置桌面上的AppWidget UI Layout 4.31 识别输入装置ID与InputDevice装置 4.32 选取文字的聪明文字联想 ...

    Google Android SDK开发范例大全(第3版) 4/5

    4.26 离开与关闭程序的弹出窗口 4.27 隐藏式抽屉 4.28 手机桌面上的小玩意 4.29 手机图片搜索管理器 4.30 实时配置桌面上的AppWidget UI Layout 4.31 识别输入装置ID与InputDevice装置 4.32 选取文字的聪明文字联想 ...

Global site tag (gtag.js) - Google Analytics