iOS 左右两列按钮之间进行连线

该博客介绍了如何在iOS应用中实现从左侧按钮到右侧按钮的连线操作,重点在于点击事件的处理和绘图代码。
摘要由CSDN通过智能技术生成

左边的和右边的进行连线操作:

//
//  Layout72Controller.h
//  happylearning
//
//  Created by aging on 16/5/20.
//  Copyright © 2016年aging. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface Layout72Controller : UIViewController
@property (strong, nonatomic) IBOutlet UIImageView *imgTop;
@property (strong, nonatomic) IBOutlet UIImageView *imgTip;
@property (strong, nonatomic) IBOutlet UILabel *lblTitle;
@property (strong, nonatomic) IBOutlet UIButton *btnNo1;
@property (strong, nonatomic) IBOutlet UIButton *btnNo2;
@property (strong, nonatomic) IBOutlet UIButton *btnNo3;
@property (strong, nonatomic) IBOutlet UIButton *btnNo4;
@property (strong, nonatomic) IBOutlet UIButton *btnNo1_1;
@property (strong, nonatomic) IBOutlet UIButton *btnNo2_2;
@property (strong, nonatomic) IBOutlet UIButton *btnNo3_3;
@property (strong, nonatomic) IBOutlet UIButton *btnNo4_4;
//正确答案
@property (strong, nonatomic) IBOutlet UILabel *lblRealAnswer;

@property (nonatomic,copy)NSString *strLeft;
@property (nonatomic,copy)NSString *strRight;

//判断左右两边显示的文字还是图片
@property (nonatomic,copy)NSString *orderBtn;

//接收正确答案
@property (nonatomic,copy)NSString *realAnswer;

@end

//按钮的点击事件中的代码才是要点!!!

//
//  Layout71Controller.m
//  happylearning
//
//  Created by aging on 16/5/20.
//  Copyright © 2016年 aging. All rights reserved.
//

#import "Layout72Controller.h"

#import "DrawLine.h"

#define PT @"P_T"
#define PP @"P_P"
#define TT @"T_T"
#define TP @"T_P"

@interface Layout72Controller ()
{
    //左边点击的按钮
    NSInteger currentLeft;
    //右边点击的按钮
    NSInteger currentRight;
    
    //记录出划线初始点的位置
    CGFloat drawStartX;
    CGFloat drawStartY;
    //记录划线结束点位置
    CGFloat drawEndX;
    CGFloat drawEndY;
    
    NSNumber *numberStartX;
    NSNumber *numberStartY;
    NSNumber *numberEndX;
    NSNumber *numberEndY;
    
    //线
    UIImageView *imgCon;
    
    //创建一个数组存储每条连线的坐标点
    NSMutableArray *ArrayLineStartX;
    NSMutableArray *ArrayLineStartY;
    NSMutableArray *ArrayLineEndX;
    NSMutableArray *ArrayLineEndY;
    
    //存储连线,判断对错
    NSMutableArray *arrayLineYesOrNo;
    
    //存储正确答案
    NSMutableArray *arrayRealAnswer;
}

@end

@implementation Layout72Controller

- (void)viewDidLoad {
    [super viewDidLoad];
    
    currentLeft=0;
    currentRight=0;
    
     self.lblRealAnswer.hidden=YES;
    
    imgCon=[[UIImageView alloc]initWithFrame:self.view.frame];
    [self.view addSubview:imgCon];
    ArrayLineStartX=[[NSMutableArray alloc]initWithCapacity:0];
     ArrayLineStartY=[[NSMutableArray alloc]initWithCapacity:0];
     ArrayLineEndX=[[NSMutableArray alloc]initWithCapacity:0];
     ArrayLineEndY=[[NSMutableArray alloc]initWithCapacity:0];
    arrayLineYesOrNo=[[NSMutableArray alloc]initWithCapacity:0];
    arrayRealAnswer=[[NSMutableArray alloc]initWithCapacity:0];
    
}

- (void)viewDidAppear:(BOOL)animated
{
    //正确答案存入数组
    NSArray *array=[_realAnswer componentsSeparatedByString:@","];
    [arrayRealAnswer addObjectsFromArray:array];
    
    //左右显示的内容
    NSArray*array1=[_strLeft componentsSeparatedByString:@"/"];
    NSMutableArray *arrayLeft=[NSMutableArray arrayWithArray:array1];
    if ([arrayLeft containsObject:@""]||[arrayLeft containsObject:@" "]) {
        [arrayLeft removeObject:@""];
        [arrayLeft removeObject:@" "];
    }
    
    NSArray*array2=[_strRight componentsSeparatedByString:@"/"];
    NSMutableArray *arrayRight=[NSMutableArray arrayWithArray:array2];
    if ([arrayRight containsObject:@""]||[arrayRight containsObject:@" "]) {
        [arrayRight removeObject:@""];
        [arrayRight removeObject:@" "];
    }
    //左边图片右边文字
    if ([_orderBtn isEqualToString:PT]) {
        [_btnNo1 setBackgroundImage:[UIImage imageNamed:arrayLeft[0]] forState:UIControlStateNormal];
        [_btnNo2 setBackgroundImage:[UIImage imageNamed:arrayLeft[1]] forState:UIControlStateNormal];
        [_btnNo3 setBackgroundImage:[UIImage imageNamed:arrayLeft[2]] forState:UIControlStateNormal];
        [_btnNo4 setBackgroundImage:[UIImage imageNamed:arrayLeft[3]] forState:UIControlStateNormal];
        
        [_btnNo1_1 setBackgroundImage:[UIImage imageNamed:@"grid_view1.png"] forState:UIControlStateNormal];
        [_btnNo2_2 setBackgroundImage:[UIImag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值