সীমান্তযুক্ত ইউআইটিেক্সটভিউ


127

আমি এ এর ​​চারপাশে একটি পাতলা ধূসর সীমানা রাখতে চাই UITextView। আমি অ্যাপলের ডকুমেন্টেশন দিয়ে গিয়েছি কিন্তু সেখানে কোনও সম্পত্তি খুঁজে পাইনি। সাহায্য করুন.

উত্তর:


306
#import <QuartzCore/QuartzCore.h>

....

// typically inside of the -(void) viewDidLoad method
self.yourUITextView.layer.borderWidth = 5.0f;
self.yourUITextView.layer.borderColor = [[UIColor grayColor] CGColor];

62
আমি ভাবিনি যে এটির সত্যিকার অর্থেই অনেক বেশি ব্যাখ্যা করার দরকার আছে, দেখুন ইউআইটিেক্সটভিউ, এবং কোডটি যেখানেই আপনি দৃশ্যটি সেট আপ করবেন সেখানে যায় (জাগ্রত থেকে ফ্রেমনিব বা ভিউডিডলড দুটি সম্ভাব্য জায়গা)। যেহেতু কোনও কোড দেওয়া হয়নি তাই প্রতিক্রিয়াতে ভাল প্রসঙ্গ দেওয়ার কোনও উপায় নেই।
কেন্ডল হেলস্টেটার জেলনার

এক্সকোড আমাকে স্তরটির জন্য সীমানা সেট করতে দেয় না। এটি বলে যে স্তরটি কেবল পঠনযোগ্য। আমি ইউআইভিউ তৈরি করেছি (যেখানে কিছু উপাদান রয়েছে) এবং সেই দৃশ্যের সীমানা সেট করার চেষ্টা করছি। এটি করার চেষ্টা করছেন self.myView.layer.borderWidth ..., তবে আমি যেমন বলেছি যে স্তরটি কেবল পঠনযোগ্য, তাই স্তরটির কোনও পদ্ধতি বা ভেরিয়েবল সেট করার নেই
পলিয়াস ভিন্ডজিগেলসকিস

2
আপনি কি কোয়ার্টজকোর আমদানি করেছেন? আপনি সেলফ.মাইভিউ থেকে কোনও ক্যালায়ার বের করার চেষ্টা করতে পারেন এবং এটিতে বর্ডারউইথ সেট করতে পারেন। এটি নিষ্পত্তিযোগ্য।
কেন্ডল হেলস্টেটার জেলনার

: "স্তর" আরো কিছু তথ্য হচ্ছে (লেয়ার সম্পত্তি, কিন্তু আপনি একটি দৃশ্যের জন্য স্তরে মানগুলি সেট করতে পারেন) শুধুমাত্র পাঠযোগ্য UIView মধ্যে stackoverflow.com/questions/12837077/...
কেন্ডাল Helmstetter Gelner

42

বৃত্তাকার কোণার জন্য নিম্নলিখিত যুক্ত করুন:

self.yourUITextview.layer.cornerRadius = 8; 

23

TextView"টিবিকমেন্টস" নামে আমার নিয়ন্ত্রণের চারপাশে একটি বর্ডার যুক্ত করার জন্য আমি এখানে কোডটি ব্যবহার করেছি :

self.tbComments.layer.borderColor = [[UIColor grayColor] CGColor];
self.tbComments.layer.borderWidth = 1.0;
self.tbComments.layer.cornerRadius = 8;

এবং দেখতে এটির মতো দেখাচ্ছে:

এখানে চিত্র বর্ণনা লিখুন

সহজ কিছু.


19

আমি UIImageViewএকটি সংক্ষিপ্তসার হিসাবে যুক্ত UITextView। এটি UITextFieldউপরের থেকে নীচে গ্রেডিয়েন্ট সহ একটিতে স্থানীয় সীমানার সাথে মেলে :

এখানে চিত্র বর্ণনা লিখুন

textView.backgroundColor = [UIColor clearColor];
UIImageView *borderView = [[UIImageView alloc] initWithFrame: CGRectMake(0, 0, textView.frame.size.width, textView.frame.size.height)];
borderView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
UIImage *textFieldImage = [[UIImage imageNamed:@"TextField.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(15, 8, 15, 8)];
borderView.image = textFieldImage;
[textField addSubview: borderView];
[textField sendSubviewToBack: borderView];

এগুলি আমি ব্যবহার করছি পিএনজি চিত্র এবং একটি জেপিজি উপস্থাপনা:

@ 1x

@ 2x

এখানে চিত্র বর্ণনা লিখুন


ভাল সমাধান। এই ছবিগুলি কি আপনার? আমরা কি সেগুলি ব্যবহার করতে মুক্ত?
জেমস ওয়েবস্টার

অ্যাপলের নিজস্ব অ্যাপ্লিকেশনগুলিতে ব্যবহৃত ছবিগুলির উপর এই চিত্রগুলি 'মডেলিং'। সত্যই আমি এগুলি বের করেছি এবং খুব কম পরিবর্তন করেছি, যদি থাকে তবে। আপনার নিজের ঝুঁকিতে ব্যবহার করুন। লক্ষ্যটি ছিল নেটিভ চেহারাটি অনুকরণ করা এবং অনুভব করা যাতে এটির চেয়ে আলাদা কিছু দেখানো কঠিন। এটির মূল্যের জন্য, আমি ইস্যু ছাড়াই এই চিত্রটি ব্যবহার করে শিপ করেছি এবং অনুমোদিত অ্যাপ্লিকেশনগুলি দিয়েছি।
বেন প্যাকার্ড

পিএনজি চিত্র ফাইলগুলি মুছে ফেলা হয়েছে বলে মনে হয় - জেপিজি যদি আপনার পক্ষে কাজ না করে তবে ক্ষমা চাইছি তাই আমি নতুন চিত্রের অবস্থানের সাথে এটি নিয়মিত আপডেট করার ইচ্ছা করি না। আমি মন্তব্যের মাধ্যমে এবং যখন অনুরোধ করা হয়েছিল তখন পুনরায় আপলোড করতে পারি।
বেন প্যাকার্ড

3
চিত্রটি সংযুক্ত হওয়ার সাথে এটি সর্বোত্তমভাবে কাজ করে code: আকার পরিবর্তনযোগ্য ইমেজউইথক্যাপিনসেটস: ইউআইইডিজইনসেটস মেক (২৮, ১৪, ২৮, ১৪)
রিফাক্স

উইকিউপলোড লিঙ্কগুলি (দুটি চিত্রের জন্য) এখন চিত্র ফাইলগুলি খুঁজে পেতে ব্যর্থ। ;-(
মাইক গ্লেডহিল

18

দুর্দান্ত কাজ, কিন্তু রঙ হওয়া উচিত CGColor, না UIColor:

view.layer.borderWidth = 5.0f;
view.layer.borderColor = [[UIColor grayColor] CGColor];

4
# আমদানি <কোয়ার্টজকোর / কোয়ার্টজকোর.ইয়ে>
কলিনকো

6

আমি বিশ্বাস করি যে উপরের উত্তরগুলি সুইফ্টের পূর্ববর্তী সংস্করণগুলির জন্য। আমি কিছুটা গুগল করেছি এবং নীচের কোডটি সুইফট ৪-এর জন্য কাজ করে, যারাই এটি উপকৃত হতে পারে কেবল তার জন্য এটি ভাগ করে নেওয়া।

self.textViewName.layer.borderColor = UIColor.lightGray.cgColor
self.textViewName.layer.borderWidth = 1.0
self.textViewName.layer.cornerRadius = 8

শুভ কোডিং!


: Swift5 এবং অন্ধকার মোড আপনি এমনকি সিস্টেম রং ব্যবহার করতে পারেনself.textViewName.layer.borderColor = UIColor.systemGray4.cgColor
দলে দলে

4

সুইফ্ট প্রোগ্রামিংয়ের জন্য, এটি ব্যবহার করুন

tv_comment.layer.borderWidth = 2
tv_comment.layer.borderColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1).CGColor

বা কেবলUIColor(white: 0.2, alpha: 1).CGColor
লিও

3

এটি আসল ইউআইটিেক্সটফিল্ড থেকে যতটা পারলাম কাছাকাছি

func updateBodyTextViewUI() {
    let borderColor = UIColor.init(red: 212/255, green: 212/255, blue: 212/255, alpha: 0.5)

    self.bodyTextView.layer.borderColor = borderColor.CGColor
    self.bodyTextView.layer.borderWidth = 0.8
    self.bodyTextView.layer.cornerRadius = 5
}

1

আপনি স্টোরিবোর্ড থেকে ইউআইটিেক্সটভিউতে সীমানা যুক্ত করতে পারেন - পরিচয় পরিদর্শক - ব্যবহারকারী সংজ্ঞায়িত রানটাইম বৈশিষ্ট্য

এখানে চিত্র বর্ণনা লিখুন


0

আইওএস 8 এবং এক্সকোড 6 হিসাবে, আমি এখন সেরা সমাধানটি পেয়েছি ইউআইটিেক্সটভিউ সাবক্লাস এবং সাবক্লাসকে আইবি_ডিজিনএবল হিসাবে চিহ্নিত করুন, যা আপনাকে স্টোরিবোর্ডে সীমান্তটি দেখার অনুমতি দেবে।

শিরোলেখ:

#import <UIKit/UIKit.h>

IB_DESIGNABLE

@interface BorderTextView : UITextView

@end

বাস্তবায়ন:

#import "BorderTextView.h"

@implementation BorderTextView

- (void)drawRect:(CGRect)rect
{
    self.layer.borderWidth = 1.0;
    self.layer.borderColor = [UIColor blackColor].CGColor;
    self.layer.cornerRadius = 5.0f;
}

@end

তারপরে স্টোরিবোর্ডে কেবল আপনার ইউআইটিেক্সটভিউটি টেনে আনুন এবং এর শ্রেণিটি বর্ডারটেক্সটভিউতে সেট করুন


0

যে জিনিসটি এটি কাজ করেছে (এখানে উত্তরগুলি অনুসরণ করার পাশাপাশি) borderStyleবৈশিষ্ট্যটি যুক্ত করছে :

#import <QuartzCore/QuartzCore.h>
..

phoneTextField.layer.borderWidth = 1.0f;
phoneTextField.layer.borderColor = [[UIColor blueColor] CGColor];
phoneTextField.borderStyle = UITextBorderStyleNone;

0

শুধু একটি ছোট সংযোজন। আপনি যদি সীমানাকে কিছুটা প্রশস্ত করেন তবে এটি পাঠ্যের বাম এবং ডানদিকে হস্তক্ষেপ করবে। এটি এড়াতে, আমি নিম্নলিখিত লাইনটি যুক্ত করেছি:

self.someTextView.textContainerInset = UIEdgeInsetsMake(8.0, 8.0, 8.0, 8.0);

0

সুইফ্ট 3 এ আপনি নিম্নলিখিত দুটি লাইন ব্যবহার করতে পারেন:

myText.layer.borderColor = UIColor.lightGray.cgColor

myText.layer.borderWidth = 1.0

-3

স্টোরিবোর্ডে এই সমস্যাটি আমি পুরোপুরি অক্ষম UIButtonরেখে ক্লিয়ার UITextViewকালারের ব্যাকগ্রাউন্ড রঙ তৈরি করে সমাধান UITextViewকরেছি। এটি অতিরিক্ত কোড বা প্যাকেজগুলির প্রয়োজন ছাড়াই কাজ করে।


3
অবশ্যই, এটি আইওএস 7 এ কাজ করে না, বোতামগুলির কোনও কিনারা নেই (বোতামগুলি এখন লেবেলের মতো দেখায়)
মাইক গ্লেডহিল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.