2

*我是 iphone 开发的初学者。我在 uitextview 中遇到了一个问题...我正在尝试做的是将 uitextview 中选定的字符串从 textview 中拖出...并将其拖到 tabbarcontroller 是否有可能请帮我解决这个问题...。 *这是我到目前为止返回的代码....请帮助我

#

import <UIKit/UIKit.h>
#import "TabViewController.h"

@class TabBarViewController;

@interface TabBarAppDelegate : UIResponder <UIApplicationDelegate,UITabBarControllerDelegate>
{

    TabBarViewController *txtviewcontroller;
    UITabBarController *tabbar;
    NSArray *viewcontrollerarray;

}
@property(nonatomic,retain)NSArray *viewcontrollerarray;
@property(nonatomic,strong)UITabBarController *tabbar;
@property(nonatomic,retain)TabBarViewController *txtviewcontroller;


@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) TabBarViewController *viewController;

@end
#import "TabBarAppDelegate.h"

#import "TabViewController.h"

@implementation TabBarAppDelegate
@synthesize txtviewcontroller,tabbar,viewcontrollerarray;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
   self.window.backgroundColor=[UIColor whiteColor];
  self.tabbar=[[UITabBarController alloc]init];
    txtviewcontroller=[[TabBarViewController alloc]init];
   tabbar.delegate=self;
   viewcontrollerarray=[[NSArray alloc]initWithObjects:txtviewcontroller, nil];
    self.tabbar.viewControllers=viewcontrollerarray;


    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        self.viewController = [[TabBarViewController alloc] initWithNibName:@"TabBarViewController_iPhone" bundle:nil];
    } else {
        self.viewController = [[TabBarViewController alloc] initWithNibName:@"TabBarViewController_iPad" bundle:nil];
    }
    self.window.rootViewController = self.tabbar;
    [self.window makeKeyAndVisible];
    return YES;
}
#import <UIKit/UIKit.h>

@interface TabBarViewController : UIViewController
{
     UITextView *textview;
}
@property(nonatomic,retain)UITextView *textview;

@end


#import "TabViewController.h"
#import "TabBarAppDelegate.h"
#include <QuartzCore/CoreAnimation.h>

@interface TabBarViewController ()

@end

@implementation TabBarViewController
@synthesize textview;
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
     self.title=@"firstname";
    CGRect textViewFrame = CGRectMake(20.0f, 20.0f, 280.0f, 124.0f);

    textview = [[UITextView alloc] initWithFrame:textViewFrame];
    textview.backgroundColor=[UIColor clearColor];
   textview.textColor=[UIColor blackColor];
    textview.editable=NO;
    NSString *filePath=[[NSBundle mainBundle]pathForResource:@"satyadetails" ofType:@"txt"];
    NSString *contentString=[NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
    textview.text=contentString;
   textview.layer.borderWidth = 3.0f;

    textview.layer.borderColor = [[UIColor grayColor] CGColor];
    textview.returnKeyType = UIReturnKeyDone;
    [self.view addSubview:textview];
enter code here


}
4

1 回答 1

1

步骤 1. 当用户在 textview 内触摸时获取事件(您可以通过UITextView's Delegate ( startEditingdelegate) 获取)

第 2 步。在您的视图上添加一个UILabel用户在 textview 中触摸的位置,并将文本作为 textview 的位置,并将清晰的颜色作为背景色。(在 textview 的委托内执行此操作)

Step 3. Inside touches move of ur view会根据touches动态改变你标签的位置。

第 4 步。当用户移动它的触摸直到删除 textview 委托将被称为检查if(textview==droppingtextview)然后放draggingtextview.text=label.text。并从超级视图中删除标签。

于 2013-03-06T12:55:53.943 回答