种地 发表于 2024-7-10 19:53:38

【iOS】UI学习(三)

前言

本篇博客是我在学习UI部门内容的学习条记,盼望对你有所帮助,如有错误,还请指出!
步进器和分栏控制器

  步进器(Stepper)和分栏控制器(Tab Controller)是iOS开发中常用的两种控件。
  步进器通常用于允许用户增加或淘汰数值,比方调整音量或选择数目。它通常由一个加号按钮和一个减号按钮构成,用户可以通过按这些按钮来逐步增加或淘汰数值。步进器还可以具有最小值和最大值,以确保用户不能选择超出指定范围的数值。步进器常用于购物车等必要增减数目的场景,比方增减房间数和人数。
  分栏控制器则是iOS中用于在多个视图控制器之间切换的控件。它通常出现在屏幕底部,每个分栏对应一个视图控制器,用户可以通过点击分栏来切换差异的视图控制器。分栏控制器常用于主界面的计划,比方在社交应用中切换"消息"、“联系人”、"动态"等差异的界面。
下面给出代码示例:
ViewController.h文件:
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    //定义一个步进器对象(步进器:按照一定的数字来调整某个数据,比如每次调整音量时以5为单位)
    UIStepper* _stepper;
   
    //定义一个分栏控制器
    UISegmentedControl* _segControl;
}

//定义属性
@property(retain, nonatomic)UIStepper* stepper;
@property(retain, nonatomic)UISegmentedControl* segControl;

@end
ViewController,m文件:
#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize stepper = _stepper;
@synthesize segControl = _segControl;

- (void)viewDidLoad {
    ;
   
    //创建步进器对象
    _stepper = [ init];
   
    //设置步进器的位置和大小(其宽高不可变)
    _stepper.frame = CGRectMake(150, 100, 80, 40);
   
    //设置步进器的最小值
    _stepper.minimumValue = 0;
   
    //设置步进器的最大值
    _stepper.maximumValue = 100;
   
    //设置步进器的当前值(不设置的话 默认为0)
    _stepper.value = 50;
   
    //设置步进器的步进制,即每次向前或向后步进的步伐值(默认为1)
    _stepper.stepValue = 5;
   
    //是否可以重复响应事件操作(一直按着可以持续增大或减小)
    _stepper.autorepeat = YES;
   
    //是否将步进结果通过事件函数响应出来(只有在stepValue设置为YES时,才有效果)
    //(设置为YES时,当我们一直按着步进器进行持续增大或减小时,他会通过下面的事件函数将每次调整后的value都打印出来;设置为NO,则不会,但其实步进器的当前值还是发生了变化的)
    _stepper.continuous = YES;
   
    //添加一个事件函数
    //p1:函数实现体p2:函数体p3:事件值改变
    ;
   
    ;
   
    //创建一个分栏控件
    _segControl = [ init];
   
    //设置分栏控件的位置和大小(宽度可变,高度不可变)
    _segControl.frame = CGRectMake(50, 200, 300, 40);
   
    //添加一个按钮元素(多个按钮元素会平分分栏控件的宽度)
    ;
   
    //p1:按钮选项文字p2:按钮的索引位置p3:是否插入动画效果
    ;
   
    ;
   
    ;
   
    //设置当前默认按钮索引的位置
    _segControl.selectedSegmentIndex = 0;
   
    ;
   
    ;
}

- (void)stepChanged
{
    NSLog(@"step pressed!当前_stepper的值为%f", _stepper.value);
}

- (void)segChanged
{
    NSLog(@"当前索引位置为%d", _segControl.selectedSegmentIndex);
}

@end
运行结果:
https://img-blog.csdnimg.cn/direct/740bceb973004678a53dbf7966e76402.gif#pic_center
https://img-blog.csdnimg.cn/direct/f1c195d5f1694988baa4c24bba148df2.gif#pic_center
警告对话框和等候提示器

  警告对话框(Alert Dialog)主要用于提醒用户关于程序中特定变乱的信息。比方,当用户的操作可能会导致数据丢失时,程序会弹出一个警告对话框,询问用户是否真的要实验这个操作。在JavaScript中,你可以使用window.alert()方法来创建一个警告对话框。在iOS中,你可以使用UIAlertController类来创建一个警告对话框。
  等候提示器(Loading Indicator)则主要用于在程序必要花费一些时间来处置惩罚任务,比方下载文件大概加载数据时,告诉用户程序正在处置惩罚,让用户知道程序没有冻结,只是在实验必要一些时间的操作。在许多情况下,等候提示器会以一个旋转的圆圈的形式出现。
代码示例:
#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize activityInicator = _activityInicator;

- (void)viewDidLoad {
    ;
   
    for (int i = 0; i < 2; i++)
    {
      UIButton* btn = ;
      
      btn.frame = CGRectMake(150, 100 + 100 * i, 100, 40);
      
      if (i == 0) {
            ;
      } else if (i == 1) {
            ;
      }
      
      btn.tag = 101 + i;
      
      ;
      
      ;
    }
}

- (void)pressBtn:(UIButton *)btn
{
    if (btn.tag == 101) {
      
      //创建一个UIAlertController对象
      //P1:弹出框的标题P2弹出框的内容
      //P3:弹出的警告框的样式为UIAlertControllerStyleAlert(即中心弹出的警告框)
      UIAlertController* alertController = [UIAlertController alertControllerWithTitle:@"警告⚠️" message:@"你的手机电量过低,即将关机
页: [1]
查看完整版本: 【iOS】UI学习(三)