Я последовал предложению Майкла и получил решение. Я дал приведенные ниже фрагменты кода, которые будут полезны для тех, кому необходимо реализовать то же самое.
Шаги:
Выберите приложение на основе Windows, затем создайте подкласс UIViewController и добавьте его в окно в файле appdelegate.
В XIB созданного вами класса viewcontroller добавьте UIViews и добавьте элементы управления, такие как текстовое поле и т. Д., ВUIViews, которые вы создали. Мы собираемся переместить только эти представления, поэтому добавьте IBOutlets в файл .h подкласса контроллера представления и соответственно сопоставьте их с IB.
Пример кода
appdelegate.h
#import <UIKit/UIKit.h>
#import "MyView.h"
@interface MyAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
MyView *viewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@end
appdelegate.m
#import "MyAppDelegate.h"
@implementation MyAppDelegate
@synthesize window;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after application launch.
viewController=[[MyView alloc]init];
[window addSubview:viewController.view];
[window makeKeyAndVisible];
}
- (void)dealloc {
[viewController release];
[window release];
[super dealloc];
}
@end
viewcontroller.h
#import <UIKit/UIKit.h>
@interface MyView : UIViewController {
IBOutlet UIView *textFieldView;
IBOutlet UIView *labelView;
}
@end
viewcontroller.m
#import "MyView.h"
@implementation MyView
- (void)viewDidLoad {
[self.view addSubview:textFieldView];
[self.view addSubview:labelView];
[super viewDidLoad];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
// get touch event
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchLocation = [touch locationInView:self.view];
if ([touch view] == textFieldView) {
// move the image view
textFieldView.center = touchLocation;
}
if ([touch view] == labelView) {
// move the image view
labelView.center = touchLocation;
}
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
}
@end
Спасибо всем. У вас есть время для племянницы.