我寫了下面的代碼,它不起作用。圖片顯示,但我不能移動它以編程方式創建的移動uiimageview
UIImageView *oneselement = [[UIImageView alloc] initWithFrame:self.view.frame];
oneselement = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"1el.png"]];
oneselement.frame = CGRectMake(0, 0, 122, 122);
[self.view addSubview:oneselement];
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
if([touch view]==oneselement)
{
CGPoint location = [touch locationInView:self.view];
oneselement.center=location;
}}
我加了圖片查看,並寫了下面的代碼
.H
@interface ViewController : UIViewController
{
IBOutlet UIImageView *oneEl;
}
@property (nonatomic,retain) IBOutlet UIImageView *oneEl;
.M
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
if([touch view]==oneEl)
{
CGPoint location = [touch locationInView:self.view];
oneEl.center=location;
}
}
它作品! 我該如何編程以便通過uiimageview創建程序可以移動?
的NSMutableArray
self.elements=[myElements getElements];
imagesElements = [[NSMutableArray alloc]init];
for(ElemetsList *item in self.elements)
{
UIImageView *oneelement = [[UIImageView alloc] initWithImage:[UIImage imageNamed:item.imgElement]];
oneelement.frame = CGRectMake(item.positionX, item.positionY, item.width, item.height);
oneelement.userInteractionEnabled=YES;
[imagesElements addObject:oneelement];
}
for(UIImageView *img in imagesElements)
[self.view addSubview:img];
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
for(UIImageView *img in imagesElements)
{
if([self view] == img)
{
CGPoint location = [touch locationInView:self.view];
img.center=location;
}
}
}
想要移動圖片或旋轉圖片? – Hiren 2012-07-18 12:15:50
你的代碼中有內存泄漏,你應該在它被添加到數組之後釋放oneelement。 – tikhop 2012-07-18 19:21:02