자바스크립트를 활성화 해주세요

[Flutter] IOS에서 복사할 때 예외의 경우

· ☕ 1 min read

IOS에서 텍스트 범위를 복사/붙여넣기(길게 누름) 할 때, 아래의 메시지가 나타날 수 있습니다 :

The getter 'pasteButtonLabel' was called on null.
The getter ‘pasteButtonLabel’ was called on null.
Receiver: null
Tried calling: pasteButtonLabel

이 경우는 IOS가 적합한 현지화 버튼을 찾지 못하는 것입니다.
이를 해결하기 위해선 개인의 IOS LocalizationsDelegate 만들면 됩니다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
class CupertinoLocalisationsDelegate extends LocalizationsDelegate<CupertinoLocalizations> {
  const CupertinoLocalisationsDelegate();

  @override
  bool isSupported(Locale locale) => true;

  @override
  Future<CupertinoLocalizations> load(Locale locale) => DefaultCupertinoLocalizations.load(locale);

  @override
  bool shouldReload(CupertinoLocalisationsDelegateold) => false;
}

그리고 MaterialApp에서 사용하십시오.

1
2
3
4
5
6
7
MaterialApp(
     ...
      localizationsDelegates: const <LocalizationsDelegate<dynamic>>[
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
+       CupertinoLocalisationsDelegate(),
      ], ...

Voilà!

공유하기

Jérémy Landon
글쓴이
Jérémy Landon
Freelance / Author / Speaker / Open source contributor

목차