`
天梯梦
  • 浏览: 13756727 次
  • 性别: 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;
    }
     
}
 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    iphone开发实例 02-Modal Alert.

    模态警告视图是一种常见的人机交互方式,它会在用户当前操作的界面之上弹出一个临时窗口,以显示重要的通知或请求用户的确认、输入等操作。这个实例可能涵盖了如何创建、自定义以及管理模态警告视图的整个过程。 ...

    实例_iPhone_SDK_编程入门教程

    - **新建项目**:选择`File -&gt; New Project`,在弹出的新建项目窗口中选择`iPhone OS -&gt; Applications -&gt; View-Based Application`,这将创建一个基于视图的应用程序模板。 ##### 2. 设置项目名称 将项目命名为...

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

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

    仿ipone滚轮搭配Dialog使用实例转载

    将滚轮控件集成到Dialog中,可以创建出一个弹出式的选择器,既符合用户习惯,又能保持界面的简洁性。 集成步骤可能包括: 1. 创建自定义Dialog布局:在这个布局中添加滚轮控件,并设置必要的属性,如宽度、高度、...

    Android高级应用源码-Android中实现Iphone样式的AlertDialog.zip

    它是Android系统提供的一种用于显示警告、询问或确认信息的弹出窗口。默认样式通常包括一个标题、一个消息区域和一个或多个操作按钮。然而,这种样式与iOS的对话框在视觉效果和交互上有所不同,比如颜色、圆角、阴影...

    iphone程序设计

    这可以通过Control-drag从Button到`OpenURLViewController`图标,然后在弹出的列表中选择`openMaps`方法来完成。 5. **界面适应性** 为了确保应用能够在不同的设备方向(如横屏和竖屏)下正常工作,我们需要重写`...

    仿iPhone风格对话框示例,Jar包及源码.zip

    在Android系统中,Dialog是一种可以弹出并覆盖在Activity上方的小窗口,用于显示警告、确认信息或者进行简单的交互。原生的Android Dialog虽然功能强大,但其样式与iPhone的对话框存在差异,尤其是在视觉效果和交互...

    Android应用源码之Android中实现Iphone样式的AlertDialog_实现.zip

    首先,Android的AlertDialog是系统提供的一个内置组件,用于显示一个小型的弹出窗口,通常包含一个标题、一条消息、以及一到多个操作按钮。它的默认样式与原生Android UI保持一致,但在某些情况下,开发者可能希望它...

    ios-YHMenu.zip

    `UIPopoverPresentationController` 是iOS中的一个类,用于创建类似iPad弹出窗口的效果,而在iPhone上则会呈现出全屏覆盖的样式。如果`YHMenu` 使用了这个控制器,那么它可以轻松地适应不同设备的屏幕尺寸。 在实际...

    Android应用源码之Android中实现Iphone样式的AlertDialog.zip

    5. **动画效果**:为了进一步增强用户体验,你可能还需要添加一些动画效果,比如对话框的弹出和消失动画。这可以通过自定义窗口动画实现,如在`style.xml`中定义动画资源,然后在构建对话框时应用它们。 6. **兼容...

    各种自定义dialog合集

    PopWindow则是一种轻量级的弹出窗口,可以作为菜单或者下拉视图。这里可能包含了如何创建和处理这些交互元素的源代码。 5. **android 自定义对话框.rar**: 这个文件可能涵盖了多种自定义Dialog的示例,包括但不...

    《iOS 人机界面准则》中文版

    键盘和输入视图部分详细介绍了各种用户界面元素,如工具栏和导航栏图标、状态栏、导航栏、工具栏、标签栏、搜索栏、内容视图、活动视图控制器、图像视图、地图视图、页面视图控制器、弹出窗口、滚动视图、分栏视图...

    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 自制发送...

Global site tag (gtag.js) - Google Analytics