手动传递触摸开始到新创建的实例

乔希·李

我希望在触摸UIView时创建一个对象。但是我希望新对象能够移动而不必抬起手指。我尝试将touched事件传递给新对象,但是它不起作用。

有什么办法吗?

代号Lambda1

您必须派生UIView的子类,该子类将用作所有新生成的视图的HolderView。此外,一旦生成新视图,即使未抬起手指,新视图也会与手指一起移动。

遵循以下代码即可完成操作,稍后根据您的需要进行调整:

@interface HolderView : UIView

@property(nonatomic,retain)UIView *newView;

@end

@implementation HolderView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}



-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    CGPoint touchPoint = [touch locationInView:self];

    if (CGRectContainsPoint(self.bounds, touchPoint)) {

        CGRect r = CGRectMake(touchPoint.x-50, touchPoint.y-50, 100, 100);

        self.newView = [[[UIView alloc] initWithFrame:r]autorelease];
        self.newView.backgroundColor= [UIColor cyanColor];
        [self addSubview:self.newView];

    }
}


-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    if (self.newView!=nil) {
        UITouch *touch = [touches anyObject];
        CGPoint touchPoint = [touch locationInView:self];
        self.newView.center = touchPoint;
    }
}

@end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法手动重新创建Unity容器控制的对象(EF dbcontext)

来自分类Dev

新创建的程序包仅在手动刷新后显示

来自分类Dev

是否可以手动锁定手机后,无法重新创建活动?

来自分类Dev

如何习惯地手动破坏范围并在AngularJS中重新创建范围?

来自分类Dev

手动更改EBS卷后,Terraform模板重新创建所有资源

来自分类Dev

如何习惯地手动销毁范围并在AngularJS中重新创建它?

来自分类Dev

将新创建的对象传递到局部视图

来自分类Dev

如何注册手动创建的装饰器实例

来自分类Dev

如何在JOOQ中手动创建RecordN的实例?

来自分类Dev

手动触发触摸事件

来自分类Dev

手动创建PCL?

来自分类Dev

手动创建Xpath

来自分类Dev

DataSnapshot 手动创建

来自分类Dev

温莎城堡重新创建实例

来自分类Dev

Vaadin FileDownloader:手动开始下载

来自分类Dev

jQuery事件到新创建的div

来自分类Dev

手动实例化PresenterWidget(GWTP)

来自分类Dev

手动实例化Spring bean

来自分类Dev

如何处理升级后的plone实例(从4.3.8到5.0.4)和新创建的实例(5.0.4)之间的差异?

来自分类Dev

从Java手动使用@Transactional方法创建Spring @Service实例

来自分类Dev

如何将片段注入活动中,而不必手动创建其实例?

来自分类Dev

在TYPO3中手动创建带有注释的对象实例

来自分类Dev

从Java手动使用@Transactional方法创建Spring @Service实例

来自分类Dev

手动绘制到MediaPlayer的表面

来自分类Dev

Android Camera Api 2触摸手动对焦

来自分类Dev

Firebase“手动”创建用户

来自分类Dev

如何手动创建Mipmap?

来自分类Dev

如何手动创建Ubuntu LiveUSB

来自分类Dev

手动创建旋转活动指标

Related 相关文章

热门标签

归档