iPhone中这些控件的替代品有哪些

时间:2011-12-13 13:08:19

标签: iphone

iPhone中这些控件的替代品

  • 单选按钮
  • 复选框
  • 下拉
  • x在UILabel中加注到权力y
  • 超链接

建议和答案将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:7)

  • 单选按钮:UISegmentedControl
  • 复选框:UISwitch
  • 下拉:UIPickerView
  • x升到UILabel的权力y:没有这样的事情,你需要画它 自己。
  • 超链接:使用UILabel并附加手势识别器以进行点按 它(或自定义类型按钮)

答案 1 :(得分:4)

几乎所有这些控件都可以使用UIWebView显示 - 如果这不是一个选项,请查看UIWebView实现,它应该给你一些想法。

但是,如果你想要原生控件,这些可能是最好的选择:

UILabel中y的幂很容易。只需用unicode上标字符替换索引...我使用以下方法将整数转换为带有上标字符的字符串。

+(NSString *)convertIntToSuperscript:(int)i {
    NSArray *array = [[NSArray alloc] initWithObjects:@"⁰", @"¹", @"²", @"³", @"⁴", @"⁵", @"⁶", @"⁷", @"⁸", @"⁹", nil];
    if (i >= 0 && i <= 9) {
        NSString *myString = [NSString stringWithFormat:@"%@", [array objectAtIndex:i]];
        [array release];
        return myString;
    }
    else {
        NSString *base = [NSString stringWithFormat:@"%i", i];
        NSMutableString *newString = [[NSMutableString alloc] init];
        for (int b = 0; b<[base length]; b++) {
            int temp = [[base substringWithRange:NSMakeRange(b, 1)] intValue];
            [newString appendString:[array objectAtIndex:temp]];
        }
        [array release];
        NSString *returnString = [NSString stringWithString:newString];
        [newString release];
        return returnString;
    }    
}

对于超链接,请使用UITextView启用Property Inspector -> Detection -> Links并禁用Editable行为。当然,这也可以在UIWebView中使用。