কীভাবে কোনও ইউআইবাটনটির হাইলাইট নিয়ন্ত্রণ অবস্থা অক্ষম করবেন?


147

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

পরামর্শ?

উত্তর:


313

আপনার বোতামটির buttonTypeকাস্টমতে সেট থাকতে হবে ।

আইবিতে আপনি "হাইলাইট অ্যাডজাস্ট ইমেজ" নির্বাচন করতে পারবেন না।

প্রোগ্রামিয়ালি আপনি ব্যবহার করতে পারেন theButton.adjustsImageWhenHighlighted = NO;

অনুরূপ বিকল্পগুলি "অক্ষম" রাষ্ট্রের জন্যও উপলব্ধ।


1
কোনও প্রোগ্রাম আপনি জানেন যে এটির প্রোগ্রামেটিক সংস্করণটি কী হবে? এই মুহুর্তে আমি এটিকে অক্ষম করে, এবং এটি নির্বাচিত হওয়ার মতো সাজে তৈরি করে হ্যাকশালিভাবে কাজ করেছি।
kbanman

99
uibutton.adjustsI छविWhenHightlight = NO;
হ্যাডন

43
এছাড়াও নিশ্চিত হয়ে নিন যে বোতামের ধরণটি CUSTOM এ সেট করা আছে। (যেমন মোসিব আসাদ অন্য উত্তরে উল্লেখ করেছেন)
ভ্লাদ লেগো

গ্রেট !!! আমি কেবল একটি সামান্য এবং সুস্পষ্ট পরিবর্তন মিস করেছি !!! আমি মাই কাস্টমক্লাসে ইউআইবাটন ক্লাসের ধরণ সেট করেছিলাম তবে এটি পরিবর্তন করতে ভুলে গেছি। সুতরাং এটি বাছাই করা বোতামটি হাইলাইটেড এফেক্ট দিচ্ছিল। আবার আপনাকে ধন্যবাদ.
বিনোদ সুপোনেকার

38

আইবিতে "হাইলাইট অ্যাডজাস্টস চিত্র" অনিচ্ছুক করার উপরের উত্তর ছাড়াও, নিশ্চিত হয়ে নিন যে বোতামের প্রকারটি CUSTOM সেট করা আছে।


2
এটি ছিল অনুপস্থিত অংশ: বোতামের টাইপ কাস্টম। ধন্যবাদ!
জেএম

1
আমি যদি সিস্টেম ইউআইবাটন হিসাবে রাখতে চাই? আমি হাইলাইট সামঞ্জস্য চিত্রটি সরাতে পারি না?
আমজাদ হোসেনী

36

এটি আপনার পক্ষে কাজ করবে:

[button setBackgroundImage:[UIImage imageNamed:@"button_image"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"button_image_selected"] forState:UIControlStateSelected];
[button setBackgroundImage:[UIImage imageNamed:@"button_image_selected"] forState:UIControlStateSelected | UIControlStateHighlighted];

তৃতীয় লাইনটি এখানে কৌশলটি ...

চিত্র / পটভূমি চিত্রটি সেট করার জন্য এটি একই কাজ করে


1
এটি আমার জন্য নিখুঁত কাজ করে। এর adjustsImageWhenHighlightedসম্পত্তিটি কেবল UIButtonপটভূমির চিত্রকেই প্রভাবিত করে বলে মনে হচ্ছে।
মাইকেল থিল

সচেতন হোন, যদি 'প্রতিবন্ধী রাষ্ট্র' এ কোনও চিত্র নির্ধারণের সিদ্ধান্ত নেন, আপনি সেটব্যাকগ্রাউন্ডআইমেজ কল করবেন না। পরিবর্তে, আপনাকে নিম্নলিখিতগুলি করতে হবে [বোতাম সেটআইমেজ: চিত্রের জন্য স্টেট: ইউআইসিএন্ট্রোলস্টেটডিজবল]; এছাড়াও সচেতন থাকুন, যেহেতু এই থ্রেডে উল্লিখিত হয়েছে, ইমেজউইন হাইটলাইটেড ইউআইবাটন প্রজেক্টগুলি কেবল পটভূমির চিত্রকেই প্রভাবিত করে।
হামাসন


23
button.adjustsImageWhenDisabled = NO;

আপনার নিজের অক্ষম বোতামটির উপস্থিতি সমানভাবে কার্যকর।


5

ডিফল্ট থেকে বোতামের হাইলাইট হওয়া অবস্থায় কী পরিবর্তন হয় তার উপর নির্ভর করে আপনি আপনার প্রয়োজন অনুযায়ী সেট করার জন্য কয়েকটি পদ্ধতি কল করতে পারেন। সুতরাং চিত্র পরিবর্তন হলে আপনি করতে পারেন

[myButton setImage:[myButton imageForState:UIControlStateNormal] forState:UIControlStateHighlighted];

পাঠ্য পরিবর্তন হলে আপনি করতে পারেন

[myButton setTitle:[myButton titleForState:UIControlStateNormal] forState:UIControlStateHighlighted];

অন্যান্য অনুরূপ ফাংশন:

- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state

- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state


ইউটিউটনটির পাঠ্যকে হাইলাইট করতে অক্ষম করতে আমার প্রয়োজন সেটটাইটেল কালার
অতুলখাত্রি

3

ঠিক আছে এখানে একটি সহজ সমাধান যদি এটি আপনার পক্ষে কাজ করে তবে এক সপ্তাহ পরে এই বিষয়ে আমার মাথা ধাক্কা দেওয়ার পরে অবশেষে আমার কাছে টাচআপসিনসাইড বা টাচডাউন বা আইডিএইচশন পদ্ধতির প্রথম লাইনটির জন্য কেবল হাইলাইটেড = কোনও সেট করার জন্য ঘটেছে or আমার জন্য এটি টাচআপসাইডে ঠিক ছিল।

-(IBAction)selfDismiss:(id)sender {

    self.btnImage.highlighted = NO;

    NSLog(@"selfDismiss");

    etc, etc, etc.

}

3

সুইফ্টি বিকাশকারীদের জন্য -

yourButton.adjustsImageWhenHighlighted = false

3

সুইফট 3+

button.adjustsImageWhenHighlighted = false

button.adjustsImageWhenDisabled = false

2

মাত্র দুটি জিনিস:

UIButton *btnTransparentComponent = [UIButton buttonWithType:UIButtonTypeCustom];
btnTransparentComponent.adjustsImageWhenHighlighted = NO;

2

আমার অনুরূপ সমস্যা ছিল এবং আমি দেখেছি যে "আনচেকিং" ইন্টারফেস বিল্ডারে গ্রাফিক বিষয়বস্তু পরিষ্কার করে আমার সমস্যাটি স্থির করেছে

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


2

আপনার বোতামটি টাইপ করুন - "কাস্টম" এবং আনচেক - হাইলাইটেড চিত্রটি সামঞ্জস্য করুন এবং আপনার কাজ শেষ হয়েছে।


-3

UIButton এর সেট করতে এড়াতে লাইন বিরতি করতে ক্লিপ , ব্যবহার পরিবর্তে মান truncate মধ্য

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

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